Javascript 我可以在函数中将搜索框值作为参数传递吗?
我有每个团队的对象,其中包含数字数组 一个榜样团队(真正树立了一个榜样,看看所有这些 进球数) 当我在控制台的“系数”函数中键入两个团队名称作为参数时,它的工作方式正是我所希望的 我希望用户能够在搜索框中键入这两个团队,并在回车时运行函数,但我似乎无法将这两个值传递到函数中 我需要更改搜索以实际获取下面对象的链接,但现在我只想让它正常工作,所以我键入的团队与该对象的名称完全相同 我的第一个项目,所以任何指导都会有帮助 我曾尝试使用showteams函数中显示的searchbox.value,并尝试使用JSON.parse方法以及Javascript 我可以在函数中将搜索框值作为参数传递吗?,javascript,html,Javascript,Html,我有每个团队的对象,其中包含数字数组 一个榜样团队(真正树立了一个榜样,看看所有这些 进球数) 当我在控制台的“系数”函数中键入两个团队名称作为参数时,它的工作方式正是我所希望的 我希望用户能够在搜索框中键入这两个团队,并在回车时运行函数,但我似乎无法将这两个值传递到函数中 我需要更改搜索以实际获取下面对象的链接,但现在我只想让它正常工作,所以我键入的团队与该对象的名称完全相同 我的第一个项目,所以任何指导都会有帮助 我曾尝试使用showteams函数中显示的searchbox.value,并尝
${awayTeam}
但我不能100%确定他们在做什么,请在下面找到我的脚本(-团队及其统计信息)
应要求,这是我的html
<body>
<div class="grid">
<header class="grid">
<h1>betMarco</h1>
</header>
<div class="stats-box home" id="home">
<h3 class="heading">HOME</h3>
<form class="add-items">
<input type="text" name="team" class="home-search" id="home-
search" placeholder="Home Team" value=" " required>
<input type="submit" value="Submit" id="submit">
</form>
<div class="values name">
<p id="name-home"></p>
</div>
<div class="values goals-scored">
<h6>HGS PG:</h6>
<p id="home-gs"></p>
</div>
<div class="values goals-conceded">
<h6>HGC PG:</h6>
<p id="home-gc"></p>
</div>
</div>
<div class="stats-box away" id="away">
<h3 class="heading">AWAY</h3>
<form class="search-items">
<input type="text" name="team" class="away-search"
id="away-search" placeholder="Away Team" value=" ">
</form>
<div class="values name">
<p id="name-away"></p>
</div>
<div class="values goals-scored">
<h6>AGS PG:</h6>
<p id="away-gs"></p>
</div>
<div class="values goals-conceded">
<h6>AGC PG:</h6>
<p id="away-gc"></p>
</div>
</div>
</div>
<script src="script.js" defer></script>
</body>
贝特马尔科
家
HGS PG:
HGC PG:
远离
AGS PG:
自动增益控制PG:
我得到了它,它只是使用了一个字符串而不是对象,相反,我发现如果我将字符串与团队数组中的一个对象相匹配,那么我可以抓取对象并提交所有数据所在的位置。不确定这是否是最有效的方法,但它确实有效
function showTeams(e) {
e.preventDefault();
let homeTeam = '';
let awayTeam = '';
if (premiership.find(o => o.name == homeSearch.value) || premiership.find(o => o.link == homeSearch.value)) {
homeTeam = premiership.find(o => o.name == homeSearch.value) || premiership.find(o => o.link == homeSearch.value)
} else if (championship.find(o => o.name == homeSearch.value) || championship.find(o => o.link == homeSearch.value)) {
homeTeam = championship.find(o => o.name == homeSearch.value) || championship.find(o => o.link == homeSearch.value)
} else if (leagueOne.find(o => o.name == homeSearch.value) || leagueOne.find(o => o.link == homeSearch.value)) {
homeTeam = leagueOne.find(o => o.name == homeSearch.value) || leagueOne.find(o => o.link == homeSearch.value)
} else if (leagueTwo.find(o => o.name == homeSearch.value) || leagueTwo.find(o => o.link == homeSearch.value)) {
homeTeam = leagueTwo.find(o => o.name == homeSearch.value) || leagueTwo.find(o => o.link == homeSearch.value)
};
if (premiership.find(o => o.name == awaySearch.value) || premiership.find(o => o.link == awaySearch.value)) {
awayTeam = premiership.find(o => o.name == awaySearch.value) || premiership.find(o => o.link == awaySearch.value)
} else if (championship.find(o => o.name == awaySearch.value) || championship.find(o => o.link == awaySearch.value)) {
awayTeam = championship.find(o => o.name == awaySearch.value) || championship.find(o => o.link == awaySearch.value)
} else if (leagueOne.find(o => o.name == awaySearch.value) || leagueOne.find(o => o.link == awaySearch.value)) {
awayTeam = leagueOne.find(o => o.name == awaySearch.value) || leagueOne.find(o => o.link == awaySearch.value)
} else if (leagueTwo.find(o => o.name == awaySearch.value) || leagueTwo.find(o => o.link == awaySearch.value)) {
awayTeam = leagueTwo.find(o => o.name == awaySearch.value) || leagueTwo.find(o => o.link == awaySearch.value)
};
coefficient(homeTeam, awayTeam)
};
我知道了,它只是使用了一个字符串,而不是对象,相反,我发现如果我将字符串与团队数组中的一个对象匹配,那么我可以抓取对象并提交所有数据所在的对象。不确定这是否是最有效的方法,但它确实有效
function showTeams(e) {
e.preventDefault();
let homeTeam = '';
let awayTeam = '';
if (premiership.find(o => o.name == homeSearch.value) || premiership.find(o => o.link == homeSearch.value)) {
homeTeam = premiership.find(o => o.name == homeSearch.value) || premiership.find(o => o.link == homeSearch.value)
} else if (championship.find(o => o.name == homeSearch.value) || championship.find(o => o.link == homeSearch.value)) {
homeTeam = championship.find(o => o.name == homeSearch.value) || championship.find(o => o.link == homeSearch.value)
} else if (leagueOne.find(o => o.name == homeSearch.value) || leagueOne.find(o => o.link == homeSearch.value)) {
homeTeam = leagueOne.find(o => o.name == homeSearch.value) || leagueOne.find(o => o.link == homeSearch.value)
} else if (leagueTwo.find(o => o.name == homeSearch.value) || leagueTwo.find(o => o.link == homeSearch.value)) {
homeTeam = leagueTwo.find(o => o.name == homeSearch.value) || leagueTwo.find(o => o.link == homeSearch.value)
};
if (premiership.find(o => o.name == awaySearch.value) || premiership.find(o => o.link == awaySearch.value)) {
awayTeam = premiership.find(o => o.name == awaySearch.value) || premiership.find(o => o.link == awaySearch.value)
} else if (championship.find(o => o.name == awaySearch.value) || championship.find(o => o.link == awaySearch.value)) {
awayTeam = championship.find(o => o.name == awaySearch.value) || championship.find(o => o.link == awaySearch.value)
} else if (leagueOne.find(o => o.name == awaySearch.value) || leagueOne.find(o => o.link == awaySearch.value)) {
awayTeam = leagueOne.find(o => o.name == awaySearch.value) || leagueOne.find(o => o.link == awaySearch.value)
} else if (leagueTwo.find(o => o.name == awaySearch.value) || leagueTwo.find(o => o.link == awaySearch.value)) {
awayTeam = leagueTwo.find(o => o.name == awaySearch.value) || leagueTwo.find(o => o.link == awaySearch.value)
};
coefficient(homeTeam, awayTeam)
};
问题中是否有其他未包含的代码?是的,但有很多代码,因此我尝试只获取一个重要的代码片段,鉴于您正在与html交互,您是否可以显示它(或至少部分代码)?您得到的错误意味着team.awayGoalsScored from team passed to away函数未定义。或者它从未被设置过,或者在调用函数之前丢失了它的值。如果它曾经被设置过,您可能已经在以下位置丢失了值:
*这会做一些事情,给出最终分数并显示在屏幕上*
。您必须提供更多代码来帮助我们,但我可以提前提供的一个提示是放置一些console.log,并查看您得到的值。问候。为您添加了更多信息问题中是否有其他未包含的代码?是的,但有很多代码,因此我尝试获取一个重要的代码片段鉴于您正在与html交互,您是否可以显示它(或至少部分代码)?您得到的错误意味着team.awayGoalsScored from team passed to away函数未定义。或者它从未被设置过,或者在调用函数之前丢失了它的值。如果它曾经被设置过,您可能已经在以下位置丢失了值:*这会做一些事情,给出最终分数并显示在屏幕上*
。您必须提供更多代码来帮助我们,但我可以提前提供的一个提示是放置一些console.log,并查看您得到的值。问候。为您添加了更多内容
<body>
<div class="grid">
<header class="grid">
<h1>betMarco</h1>
</header>
<div class="stats-box home" id="home">
<h3 class="heading">HOME</h3>
<form class="add-items">
<input type="text" name="team" class="home-search" id="home-
search" placeholder="Home Team" value=" " required>
<input type="submit" value="Submit" id="submit">
</form>
<div class="values name">
<p id="name-home"></p>
</div>
<div class="values goals-scored">
<h6>HGS PG:</h6>
<p id="home-gs"></p>
</div>
<div class="values goals-conceded">
<h6>HGC PG:</h6>
<p id="home-gc"></p>
</div>
</div>
<div class="stats-box away" id="away">
<h3 class="heading">AWAY</h3>
<form class="search-items">
<input type="text" name="team" class="away-search"
id="away-search" placeholder="Away Team" value=" ">
</form>
<div class="values name">
<p id="name-away"></p>
</div>
<div class="values goals-scored">
<h6>AGS PG:</h6>
<p id="away-gs"></p>
</div>
<div class="values goals-conceded">
<h6>AGC PG:</h6>
<p id="away-gc"></p>
</div>
</div>
</div>
<script src="script.js" defer></script>
</body>
function showTeams(e) {
e.preventDefault();
let homeTeam = '';
let awayTeam = '';
if (premiership.find(o => o.name == homeSearch.value) || premiership.find(o => o.link == homeSearch.value)) {
homeTeam = premiership.find(o => o.name == homeSearch.value) || premiership.find(o => o.link == homeSearch.value)
} else if (championship.find(o => o.name == homeSearch.value) || championship.find(o => o.link == homeSearch.value)) {
homeTeam = championship.find(o => o.name == homeSearch.value) || championship.find(o => o.link == homeSearch.value)
} else if (leagueOne.find(o => o.name == homeSearch.value) || leagueOne.find(o => o.link == homeSearch.value)) {
homeTeam = leagueOne.find(o => o.name == homeSearch.value) || leagueOne.find(o => o.link == homeSearch.value)
} else if (leagueTwo.find(o => o.name == homeSearch.value) || leagueTwo.find(o => o.link == homeSearch.value)) {
homeTeam = leagueTwo.find(o => o.name == homeSearch.value) || leagueTwo.find(o => o.link == homeSearch.value)
};
if (premiership.find(o => o.name == awaySearch.value) || premiership.find(o => o.link == awaySearch.value)) {
awayTeam = premiership.find(o => o.name == awaySearch.value) || premiership.find(o => o.link == awaySearch.value)
} else if (championship.find(o => o.name == awaySearch.value) || championship.find(o => o.link == awaySearch.value)) {
awayTeam = championship.find(o => o.name == awaySearch.value) || championship.find(o => o.link == awaySearch.value)
} else if (leagueOne.find(o => o.name == awaySearch.value) || leagueOne.find(o => o.link == awaySearch.value)) {
awayTeam = leagueOne.find(o => o.name == awaySearch.value) || leagueOne.find(o => o.link == awaySearch.value)
} else if (leagueTwo.find(o => o.name == awaySearch.value) || leagueTwo.find(o => o.link == awaySearch.value)) {
awayTeam = leagueTwo.find(o => o.name == awaySearch.value) || leagueTwo.find(o => o.link == awaySearch.value)
};
coefficient(homeTeam, awayTeam)
};