Js验证发送两个消息
js validation send both massage
我让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 ");
}
在满足条件后添加一个return…
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");
return;
}else{
alert("we don't have ");
}
}
}
相关文章:
- JQuery合并了keyup和focusout两个函数
- 如何使用 node.js 比较两个 json 数组
- 为复选框javascript指定两个值
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 单击时切换两个图像
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- 基于两个条件退出While循环
- 如何在这里将两个值最低的数字相加
- 组合两个javascript函数
- 通过node.js和socket.io在两个用户之间发送消息
- 消息在两个功能完成之前发送
- 捕获多行错误消息中的两个字符串
- 发布消息 两个具有相同来源的子窗口
- 当两个字段为空时如何显示错误消息 javascript/jquery.
- 角度验证消息不适用于 ng-show 和两个输入
- 发布两个网站之间的消息
- 两个窗口或选项卡之间的跨文档消息传递,而不是iframe
- Js验证发送两个消息
- 我将两个连续的消息推入消息队列,但它们似乎没有被连续调用
- c#中的弹出消息用于单个按钮和两个操作