javascript函数返回html表单验证的值

时间:2017-06-15 16:24:14

标签: javascript

以下是我的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); 
} 

1 个答案:

答案 0 :(得分:0)

如果验证正常(你调用true,那么你的函数不会返回right()。所以如果你正在捕获函数的返回值,你将获得{{1} },其处理方式与undefined相同(请参阅https://developer.mozilla.org/en-US/docs/Glossary/Falsy)。

在致电false后尝试返回true

您可以在此示例中看到,即使验证通过,仍然会打印right(),因此。

&#13;
&#13;
s is not ok
&#13;
&#13;
&#13;

但如果你返回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"); },事情会按预期运作:

&#13;
&#13;
true
&#13;
&#13;
&#13;