JavaScript 函数返回 HTML 表单验证的值



下面是我的javascript代码。

我正在验证我在 if 条件中使用的表单数据。

如果它得到正确的验证,则隐藏所有警告,如果没有,则仅显示该字段的警告并返回 false。但是该函数不会返回 false。

法典:

 function check_form()
 {
 var name=document.signin_form.full_name.value;
 var userid=document.signin_form.userid.value;
 var gender=document.signin_form.gender.value;
 var dob=document.signin_form.dob.value;
 var add=document.signin_form.address.value;
 var pass=document.signin_form.pass.value;
 var tc=document.signin_form.tc.checked;
if(name!==""&&name.length<30&&name.match(/^[A-Za-z]+$/))
{
right();
}
else
{
 wrong("name");
 return false;
}
}
function right()
{
$(document).ready(function(){
$("#name_warning").css("display","none");
$("#userid_warning").css("display","none");
$("#gender_warning").css("display","none");
$("#dob_warning").css("display","none");
$("#address_warning").css("display","none");
$("#password_warning").css("display","none");
$("#tc_warning").css("display","none");
});
}
function wrong(str)
{
str="'#"+str+"_warning'";
$(document).ready(function(){
$(str).css("display","inline-block");
});
window.scroll(0,250); 
} 
如果

验证正常,您的函数不会返回true(您调用right() .因此,如果你正在捕获函数的返回值,你会得到undefined,它被视为与false相同(见 https://developer.mozilla.org/en-US/docs/Glossary/Falsy(。

尝试在致电right()后返回true

在此示例中,您可以看到,即使验证通过,s is not ok仍会打印

,因此。

var s = "abcdef";
var validate = function(name){
  if(name!==""&&name.length<30&&name.match(/^[A-Za-z]+$/)){
    console.log("right");
  }else{
    console.log("wrong");
    return false;
  }
};
if(validate(s)){
  console.log("s was ok");
}else{
  console.log("s was not ok");
}

但是如果你返回true,事情按预期工作:

var s = "abcdef";
var validate = function(name){
  if(name!==""&&name.length<30&&name.match(/^[A-Za-z]+$/)){
    console.log("right");
    return true;
  }else{
    console.log("wrong");
    return false;
  }
};
if(validate(s)){
  console.log("s was ok");
}else{
  console.log("s was not ok");
}

相关内容

  • 没有找到相关文章

最新更新