任何人都可以解释一下这个“if(blnRtrn == true)”是如何工作的?

时间:2014-02-12 09:30:38

标签: javascript

我正在构建一个必须验证每个字段的表单。无论先前是否填充...(即同时验证单个字段).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>`

4 个答案:

答案 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)

这不是循环! 这个验证非常简单,并按原样运行:

  1. 我们定义一个代表我们验证的变量(blnRtrn)。我们假设从开始就是这样。
  2. 不同的测试如 if(name.length == 0) { document.getElementById('msg').innerHTML="Enter UseName"; blnRtrn = false;
    }
    尝试将变量更改为false以取消验证表单。

  3. 最后,如果blnRtrn仍然为真,那么所有测试都通过,表单将被验证并可以发送。

答案 3 :(得分:0)

首先,您发布的来源中没有循环。循环是“for”和“while”等等。 “if”不是循环,因为它只使用一次。

现在解决你的问题。一旦用户点击提交,就会发生以下情况:

  1. blnRtrn设置为true。

  2. 如果输入“name”字段的文本长度为零(==没有输入文本),则将blnRtrn设置为false,并向用户输出Message。

  3. 如果输入“pass”字段的文本长度为零(==没有输入文本),则将blnRtrn设置为false,并向用户输出Message。

  4. 如果输入“cpass”字段的文本长度为零(==没有输入文本),则将blnRtrn设置为false,并向用户输出一条消息。

  5. 现在你的程序测试blnRtrn是否仍然是真的。如果是,则正确填写所有字段并提交表单。如果blnRtrn不再为true,则用户必须忘记在其中一个字段中输入内容,并取消表单提交。