在JavaScript中用数组实现错误预防

在JavaScript中用数组实现错误预防,javascript,html,Javascript,Html,我正在开发一个评论系统,由一名记者输入主队和客队的名字,然后点击一个按钮将其发送到记者提要。然而,我想实施错误预防,因为我只想要英超球队。 数组用于包含团队名称。如果输入的团队名称与数组中的值不匹配,是否可以在按下登录按钮后停止登录 代码如下: var teamNames = new Array(); HTML: 提前感谢正如我在评论中所说的,您的循环逻辑完全错误,但如果您可以直接使用,则通过循环搜索数组是一种浪费 比如: var homeTeam = $("#txtHomeTeam").

我正在开发一个评论系统,由一名记者输入主队和客队的名字,然后点击一个按钮将其发送到记者提要。然而,我想实施错误预防,因为我只想要英超球队。 数组用于包含团队名称。如果输入的团队名称与数组中的值不匹配,是否可以在按下登录按钮后停止登录

代码如下:

var teamNames = new Array();
HTML:



提前感谢

正如我在评论中所说的,您的循环逻辑完全错误,但如果您可以直接使用,则通过循环搜索数组是一种浪费

比如:

var homeTeam = $("#txtHomeTeam").val().toLower();
var awayTeam = $("#txtAwayTeam").val().toLower();

if (homeTeam != awayTeam) {
    if (teamNames.indexOf(homeTeam) >= 0 && teamNames.indexOf(awayTeam) >= 0) {
        // now we know both teams are valid
    }
    else {
        // unknown team
    }
}
else {
    // a team can't play itself!!!
}

然而,我仍然坚持我的评论,即使用自由文本框并期望用户只输入有限的值是不好的UI。使用下拉列表或类似的选择器,以避免使用诸如
Arsenel
之类的打字错误,或仅键入
Hull
而不是
Hull City
或更糟的
Hull Tigers
的用户感到沮丧

你想要实现什么?这里有问题吗?我看不出来。一般来说,如果你想限制用户从一组限制选项中选择,不要使用文本框。使用下拉列表或其他适当的控件。使用文本框只会让您和您的用户感到头疼。对不起,错误消息不断弹出,说没有输入任何名称。我想知道如何解决这个问题。基本上,只要我按下按钮登录,就会弹出警告,说输入团队名称。问题就在你的循环逻辑中。第一次循环时,它将检查主客场球队是否都是阿森纳,如果不是,则抛出错误消息。您需要检查任一队是否为阿森纳队,然后标记您已经验证了主队或客队,然后继续循环,直到您验证了两个队,或者循环结束。如果您到达终点,并且一个或两个团队都没有被验证,那么您将抛出错误。奖励积分:查看主页!=离开一支球队不能打自己!是的,你的下拉列表是对的,我都没想过。然而,我需要快速实现它,我已经这样开始了,所以我认为我最好完成它。如果我在完成其余部分后有时间,我肯定会执行下拉列表。谢谢你帮了大忙!
var homeTeam = $("#txtHomeTeam").val().toLower();
var awayTeam = $("#txtAwayTeam").val().toLower();

if (homeTeam != awayTeam) {
    if (teamNames.indexOf(homeTeam) >= 0 && teamNames.indexOf(awayTeam) >= 0) {
        // now we know both teams are valid
    }
    else {
        // unknown team
    }
}
else {
    // a team can't play itself!!!
}