javascript - js验证同时发送消息

标签 javascript html

我让 HTML 表单向 JavaScript 发送参数,以检查输入是否等于数组中的值,然后发送警报消息,但问题是该函数在条件为真时发送两个警报

这是我的代码

<html>
<head>
    <title>TODO supply a title</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script type="text/javascript">

        function test(){
            var cars=["a","b","c"];
            var c;
            var inp=document.forms["form1"]["input1"].value;

            for(c=0;c<cars.length;++c){

                if(cars[c]===inp){
                    alert("we have it");

                }else{
                    alert("we don't have ");
                }
            }
        }
    </script>
</head>

<body>
    <form method="get" name="form1" onsubmit="return test()">
        <input type="text" name="input1" />
        <input type="submit" />
    </form>
</body>

我修改了两个警报“我们有它”“我们没有”

这段代码有什么问题?

最佳答案

你需要改变逻辑,你需要看看它是否存在并查看所有这些。您不应该对每个索引都发出警报。

var inStock = false;  //Use a boolean to hold state
for(c=0;c<cars.length;++c){
    if(cars[c]===inp){  //see if it matches
        inStock = true;  //if it matches set Boolean to true
        break; //exit loop (no reason to keep looking)
    }
}
if(inStock) {  //check the boolean to see if we found it
  alert("we have it");
} else {
  alert("we don't have ");
}

关于javascript - js验证同时发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32898572/

相关文章:

javascript - 如何使用 formvalidation.io 和 jQuery 验证单选按钮?

javascript - 从 &lt;script&gt; 标记中删除类型会在任何浏览器中中断吗?

html - 如何使 Bootstrap v4 看起来像 v3

javascript - 在 JS 中发送邮件

javascript - 如何使用 highchart 在密集系列中突出垂直绘制线?

javascript - Three.js后端3D模型/树在哪里?

java - 是否可以通过链接文本获取xpath?

html - 更改鼠标悬停行的背景颜色

javascript - 如何在使用相同 ID 的 5 个跨度上添加文本

javascript - 将网站重定向到本地文件夹使用 window.location.href() 不起作用