Javascript表单验证(返回问题)

Javascript表单验证(返回问题),javascript,forms,validation,return,Javascript,Forms,Validation,Return,我的Javascript表单验证有一个问题,我试图返回true或false值,但它不起作用。它只返回第一个if/else语句(无论是true还是false),从那里它就不起作用。一旦看到Javascript代码,你应该明白我在尝试做什么 $(“#按钮”)。单击(函数(){ name=$(“#name”).val();//名称输入 年龄=$(“#年龄”).val();//年龄输入 性别=$(“#性别”).val();//性别输入 if(name.match(/(\w)\s(\w)/){ 返回tru

我的Javascript表单验证有一个问题,我试图返回true或false值,但它不起作用。它只返回第一个if/else语句(无论是true还是false),从那里它就不起作用。一旦看到Javascript代码,你应该明白我在尝试做什么

$(“#按钮”)。单击(函数(){
name=$(“#name”).val();//名称输入
年龄=$(“#年龄”).val();//年龄输入
性别=$(“#性别”).val();//性别输入
if(name.match(/(\w)\s(\w)/){
返回true;
}
否则{
$('.form row:first child').css('border','1px solid red');
返回false;
}
如果(年龄<0 | |年龄>130 | |伊斯南(年龄)){
$('.form行:第n个子(2)').css('border','1px solid red');
返回false;
}
否则{
返回true;
}
如果(性别==“男性”| |性别==“男性”| |性别==“女性”| |性别==“女性”){
返回true;
}
否则{
$('.form行:第n个子(3)').css('border','1px solid red');
返回false;
}
});

返回将中断该功能。相反,设置一个标志并在末尾返回该标志

$(“#按钮”)。单击(函数(){
returnFlag=false
name=$(“#name”).val();//名称输入
年龄=$(“#年龄”).val();//年龄输入
性别=$(“#性别”).val();//性别输入
if(name.match(/(\w)\s(\w)/){
returnFlag=true;
}
否则{
$('.form row:first child').css('border','1px solid red');
returnFlag=false;
}
如果(年龄<0 | |年龄>130 | |伊斯南(年龄)){
$('.form行:第n个子(2)').css('border','1px solid red');
returnFlag=false;
}
否则{
returnFlag=true;
}
如果(性别==“男性”| |性别==“男性”| |性别==“女性”| |性别==“女性”){
returnFlag=true;
}
否则{
$('.form行:第n个子(3)').css('border','1px solid red');
returnFlag=false;
}
返回标志;

});返回将中断该函数。相反,设置一个标志并在末尾返回该标志

$(“#按钮”)。单击(函数(){
returnFlag=false
name=$(“#name”).val();//名称输入
年龄=$(“#年龄”).val();//年龄输入
性别=$(“#性别”).val();//性别输入
if(name.match(/(\w)\s(\w)/){
returnFlag=true;
}
否则{
$('.form row:first child').css('border','1px solid red');
returnFlag=false;
}
如果(年龄<0 | |年龄>130 | |伊斯南(年龄)){
$('.form行:第n个子(2)').css('border','1px solid red');
returnFlag=false;
}
否则{
returnFlag=true;
}
如果(性别==“男性”| |性别==“男性”| |性别==“女性”| |性别==“女性”){
returnFlag=true;
}
否则{
$('.form行:第n个子(3)').css('border','1px solid red');
returnFlag=false;
}
返回标志;

});现在的问题是,第一个if..else可能会将标志设置为false,但下一个可能会将其重置为true…你是对的,我甚至没有想到这一点。我假设实际返回false,其中returnFlag==false将根据用例而工作。returnFlag可以初始化为true,然后在测试通过时不设置,如果测试失败则设置为false;-)现在的问题是,第一个if..else可能会将标志设置为false,但下一个可能会将其重置为true…你是对的,我甚至没有想到这一点。我假设实际返回false,其中returnFlag==false将根据用例而工作。returnFlag可以初始化为true,然后在测试通过时不设置,如果测试失败则设置为false;-)