我正在构建一个必须验证每个字段的表单。无论先前是否填充...(即同时验证单个字段).i发现hw要做但却无法理解代码!!!! (if(blnRtrn == true)part)。如果任何人可以解释plz
`
var blnRtrn=true;
var name=document.getElementById('uname').value;
var pass=document.getElementById('password').value;
var cpass=document.getElementById('confirmpassword').value;
if(name.length==0){
document.getElementById('msg').innerHTML="Enter UseName";
blnRtrn = false;
}
else{
document.getElementById('msg').innerHTML="";
}
if(pass.length==0){
document.getElementById('msg1').innerHTML="Enter password";
blnRtrn = false;
}
else{
document.getElementById('msg1').innerHTML="";
}
if(cpass.length==0){
document.getElementById('msg2').innerHTML="Enter confirm password";
blnRtrn = false;
}
else{
document.getElementById('msg2').innerHTML="";
}
if (blnRtrn == true)
{
document.forms[0].actionValue.value = '1';
document.forms[0].submit();
}
</script>`
答案 0 :(得分:2)
逻辑解释
假设一切正常:
var blnRtrn=true;
检查各种可能的错误
if(name.length==0)
如果出现错误,请显示消息
document.getElementById('msg').innerHTML="Enter UseName";
...并更改说明一切正常的变量:
blnRtrn = false;
最后,在检查了每个潜在错误后,查看第一个假设是否成立(如果有任何检查失败):
if (blnRtrn == true)
如果一切正常,请提交表格:
document.forms[0].submit();
答案 1 :(得分:1)
我添加了内联评论来解释它的作用。
// blnRtrn is the variable determines whether the form is to be submitted or not.
// It is set to true by default and is set to false if any of the validation given above this code fails.
if (blnRtrn == true) { // if it is true (i.e) all validation checks are passed
document.forms[0].actionValue.value = '1'; // Set the value of actionValue field to 1
document.forms[0].submit(); // Submit the form
}
答案 2 :(得分:0)
这不是循环! 这个验证非常简单,并按原样运行:
blnRtrn
)。我们假设从开始就是这样。不同的测试如
if(name.length == 0) {
document.getElementById('msg').innerHTML="Enter UseName";
blnRtrn = false;
将尝试将变量更改为false以取消验证表单。
}
最后,如果blnRtrn
仍然为真,那么所有测试都通过,表单将被验证并可以发送。
答案 3 :(得分:0)
首先,您发布的来源中没有循环。循环是“for”和“while”等等。 “if”不是循环,因为它只使用一次。
现在解决你的问题。一旦用户点击提交,就会发生以下情况:
blnRtrn设置为true。
如果输入“name”字段的文本长度为零(==没有输入文本),则将blnRtrn设置为false,并向用户输出Message。
如果输入“pass”字段的文本长度为零(==没有输入文本),则将blnRtrn设置为false,并向用户输出Message。
如果输入“cpass”字段的文本长度为零(==没有输入文本),则将blnRtrn设置为false,并向用户输出一条消息。
现在你的程序测试blnRtrn是否仍然是真的。如果是,则正确填写所有字段并提交表单。如果blnRtrn不再为true,则用户必须忘记在其中一个字段中输入内容,并取消表单提交。