繁体   English   中英

谁能解释一下“ if(blnRtrn == true)”的工作原理吗?

[英]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
}

这不是循环! 此验证非常简单,并且可以正常工作:

  1. 我们定义一个变量( blnRtrn )来表示我们的验证。 我们从一开始就认为这是真的。
  2. 不同的测试,例如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,以使表单无效。

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

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

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

  1. blnRtrn设置为true。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM