![](/img/trans.png)
[英]Can anyone tell me how this javaScript function works please?
[英]Can anyone please explain me how this “if (blnRtrn == true)” works?
我正在构建一个必须验证每个字段的表单。无论以前是否填写...(即同时验证单个字段)。我发现硬件可以做到这一点,但无法理解代码!!!!(如果( blnRtrn == true)部分)。 如果有人能解释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>`
逻辑解释
假设一切正常:
var blnRtrn=true;
检查各种可能的错误
if(name.length==0)
如果有错误,请显示一条消息
document.getElementById('msg').innerHTML="Enter UseName";
...并更改表示一切正常的变量:
blnRtrn = false;
最后,在检查完所有潜在错误之后,请查看第一个假设是否成立(如果任何检查失败):
if (blnRtrn == true)
如果一切正常,请提交表格:
document.forms[0].submit();
我添加了嵌入式注释来解释它的作用。
// 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
}
这不是循环! 此验证非常简单,并且可以正常工作:
blnRtrn
)来表示我们的验证。 我们从一开始就认为这是真的。 不同的测试,例如if(name.length == 0) { document.getElementById('msg').innerHTML="Enter UseName"; blnRtrn = false;
}if(name.length == 0) { document.getElementById('msg').innerHTML="Enter UseName"; blnRtrn = false;
}if(name.length == 0) { document.getElementById('msg').innerHTML="Enter UseName"; blnRtrn = false;
会尝试将变量更改为false,以使表单无效。
}
最后,如果blnRtrn
仍然为true,那么所有测试都通过了,表格便被验证并可以发送。
首先,您发布的源代码中没有循环。 循环是“ for”和“ while”等。 “ if”不是循环,因为它仅使用一次。
现在解决您的问题。 一旦用户点击提交,就会发生以下情况:
blnRtrn设置为true。
如果输入“名称”字段的文本长度为零(==没有输入文本),则blnRtrn设置为false,并向用户输出消息。
如果输入“通过”字段的文本长度为零(==没有输入文本),则blnRtrn设置为false,并且向用户输出消息。
如果输入到“ cpass”字段中的文本长度为零(==没有输入文本),则blnRtrn设置为false,并且向用户输出消息。
现在,您的程序将测试blnRtrn是否仍然为真。 如果是,则正确填写所有字段并提交表单。 如果blnRtrn不再为真,则用户必须忘记向其中一个字段输入内容,并且表单提交被取消。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.