通过javascript函数循环
我试图在函数的while循环中循环if语句。但它只会命中第一个if语句并停止循环 样本:通过javascript函数循环,javascript,Javascript,我试图在函数的while循环中循环if语句。但它只会命中第一个if语句并停止循环 样本: while(No.length == 0 || Name.length == 0 || Tel.length == 0 || Date.length == 0 || Email.length == 0) { alert("Don't leave blank!"); if (No.length == 0) { document.getElementById('
while(No.length == 0 || Name.length == 0 || Tel.length == 0
|| Date.length == 0 || Email.length == 0) {
alert("Don't leave blank!");
if (No.length == 0) {
document.getElementById('Nos').style.visibility = 'visible';
return false;
}
if(Name.length == 0) {
document.getElementById('Name').style.visibility = 'visible';
return false;
}
//continues same if statement for rest of the elements variables.
}
它将只转到第一个if语句,不会循环执行它。您是从循环内部返回的;这打破了循环。如果要继续下一轮循环,请改用
continue
。如果要中断循环,但不想从整个函数返回,请使用break
现在,如果您使用的是jQuery循环,因为它实际上只是一个函数,您可以使用return:
$.each([1,2,3,4], function(index, x) {
if (x < 4) return true; // equivalent to continue
if (x == 4) return false; // equivalent to break
});
$。每个([1,2,3,4])函数(索引,x){
如果(x<4)返回true;//相当于继续
if(x==4)返回false;//相当于break
});
但这只适用于jQuery循环,而不是Javascript标准循环。您是从循环内部返回的;这打破了循环。如果要继续下一轮循环,请改用
continue
。如果要中断循环,但不想从整个函数返回,请使用break
现在,如果您使用的是jQuery循环,因为它实际上只是一个函数,您可以使用return:
$.each([1,2,3,4], function(index, x) {
if (x < 4) return true; // equivalent to continue
if (x == 4) return false; // equivalent to break
});
$。每个([1,2,3,4])函数(索引,x){
如果(x<4)返回true;//相当于继续
if(x==4)返回false;//相当于break
});
但这仅适用于jQuery循环,而不是Javascript标准循环。我看到的第一个错误是您应该使用“\”来逃避警报,例如:
alert('Don\'t leave blank!');
如果您编写以下内容,则循环将继续:
while(No.length == 0 || Name.length == 0 || Tel.length == 0 || Date.length == 0 || Email.length == 0) {
if (No.length == 0) {
document.getElementById('Nos').style.visibility = 'visible';
}
if(Name.length == 0) {
document.getElementById('Name').style.visibility = 'visible';
}
return true;
}
也可以尝试:
while(No.length == 0 && Name.length == 0 && Tel.length == 0 && Date.length == 0 && Email.length == 0) {
document.getElementById('Nos').style.visibility = 'visible';
document.getElementById('Name').style.visibility = 'visible';
continue;
}
我看到的第一个错误是您应该使用“\”来转义警报,例如:
alert('Don\'t leave blank!');
如果您编写以下内容,则循环将继续:
while(No.length == 0 || Name.length == 0 || Tel.length == 0 || Date.length == 0 || Email.length == 0) {
if (No.length == 0) {
document.getElementById('Nos').style.visibility = 'visible';
}
if(Name.length == 0) {
document.getElementById('Name').style.visibility = 'visible';
}
return true;
}
也可以尝试:
while(No.length == 0 && Name.length == 0 && Tel.length == 0 && Date.length == 0 && Email.length == 0) {
document.getElementById('Nos').style.visibility = 'visible';
document.getElementById('Name').style.visibility = 'visible';
continue;
}
也许是这个
功能测试所有字段(){
var No=document.getElementById('No');
var Nos=document.getElementById('Nos');
var Name=document.getElementById('Name');
// ...
Nos.style.visibility=(No.value.length==0)?“可见”:“隐藏”;
Names.style.visibility=(Name.value.length==0)?“可见”:“隐藏”;
//...
//对其余元素变量继续相同的if语句。
如果(No.value.length>0&&Name.value.length>0&&Tel.value.length>0&&Date.value.length>0&&Email.value.length>0){
返回true;
}
否则{
警惕(“不要留白!”);
返回false;
}
}
也许是这个
功能测试所有字段(){
var No=document.getElementById('No');
var Nos=document.getElementById('Nos');
var Name=document.getElementById('Name');
// ...
Nos.style.visibility=(No.value.length==0)?“可见”:“隐藏”;
Names.style.visibility=(Name.value.length==0)?“可见”:“隐藏”;
//...
//对其余元素变量继续相同的if语句。
如果(No.value.length>0&&Name.value.length>0&&Tel.value.length>0&&Date.value.length>0&&Email.value.length>0){
返回true;
}
否则{
警惕(“不要留白!”);
返回false;
}
}
表示返回false;继续returntrue
相当于jQuery循环中的continue
;不在普通Javascript中。请改用continue
:如果(No.length==0){
continue/*继续循环的下一次迭代*/;
}
您好,您的语句可以工作,但它永远不会停止。错误消息将保持appearingOk循环101次:-)当您在循环中使用continue
(或不执行任何操作)时,它将继续循环的下一次迭代。但是,如果在循环中使用break
或return
,它将结束循环。如果使用了break
,它将转到循环后的下一行,如果使用return
它将返回到调用函数的人。我不知道你具体想用循环实现什么,但它的长短是当你想循环继续时你想继续
,当你想循环结束时你想中断
;继续returntrue
相当于jQuery循环中的continue
;不在普通Javascript中。请改用continue
:如果(No.length==0){
continue/*继续循环的下一次迭代*/;
}
您好,您的语句可以工作,但它永远不会停止。错误消息将保持appearingOk循环101次:-)当您在循环中使用continue
(或不执行任何操作)时,它将继续循环的下一次迭代。但是,如果在循环中使用break
或return
,它将结束循环。如果使用了break
,它将转到循环后的下一行,如果使用return
它将返回到调用函数的人。我不知道你具体想用循环来完成什么,但它的长短是当你想继续循环时你想继续
,当你想结束循环时你想中断
。你的版本仍然从循环内部返回,所以它会有同样的问题,只迭代一次(然后返回)。它不会循环。只会点击第一个IF语句。@stano,‘No’是用户输入值。'Nos’是错误图像。哦,是的,谢谢解释。我相信您知道如何使其完全正常运行。祝您好运!:-)您的版本仍然会从循环内部返回,因此它将遇到只迭代一次的问题(然后返回)。它不会循环。只会点击第一个IF语句。@stano,“No”是用户输入值。“No”是错误图像。噢,是的,谢谢解释。我相信您知道如何使它完全正常工作。