gpt4 book ai didi

javascript - 为什么此代码不运行警报 ("out of loop")

转载 作者:行者123 更新时间:2023-11-28 06:29:03 25 4
gpt4 key购买 nike

为什么这段代码不运行警报(“跳出循环”)?它位于功能 block 内部并且在 for 循环之外,因此在完成循环后,必须运行下一个警报语句(“循环外”)。那么为什么当两个输入都为真时它不运行(用户:Amir.Nassaji 通行证:aaaaaaaaaaaa)

<body >
<form onsubmit="return loginCheck()" action= "#"
method="Post">
username:<input type= "text" name= "username" class= "login" /><span class= "validation"></span><br />
password:<input type= "password" name= "password" class= "login"/><span class= "validation"></span><br />
<input type= "submit" value= "submit" />
</form>



<script>
"using strict";
function loginCheck() {
var fault = "";
var ides = ["username" , "password"];
var inputs = document.getElementsByClassName("login");
var inputSpans = document.getElementsByClassName("validation");
var i = 0;
for(i; i<inputs.length ; i++) {

var inputValue = inputs[i].value;
try {
inputSpans[i].innerHTML = "";
if (inputs[i].value === "") {
throw " fild " + ides[i] + " is required.";
}
if (inputs[i].value.length < 8) {
throw ides[i] + " must have at least 8 char length.";
}
if (!inputs[i].value.search(/^\d/i) && i === 0) {
throw ides [i] + " this filed can't start with number";
}
if (inputs[i].value.search(/[~!@#$%^&*\/><":;',()+=-]/i) !== -1 && i === 0) {
throw ides [i] + " there is unaccepted chars in field. ";
}

} catch(err) {

inputSpans[i].innerHTML = "*" + " " + err;
fault = err;
} finally {
alert (i+": finally run " + fault); // this is for testing running finally
if ( i === 1 && fault != null) {
return false;
} else {
continue;
}
}

}
alert ("out of loop");

}

</script>
</body>

最佳答案

如果您只有一个输入,请参阅 fiddle :https://jsfiddle.net/16q2xr8k/11/

警报已触发

如果您有两个输入,请参阅 fiddle :https://jsfiddle.net/16q2xr8k/10/

警报未触发

此条件表示如果多个输入返回 false 并且最后一个 alert() 将不会被调用

if ( i === 1 && fault != null) {
return false;
}

关于javascript - 为什么此代码不运行警报 ("out of loop"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com