2015-02-11 70 views
0

我已经在JQuery中创造了这个功能:JQuery的检查必填字段

function CheckRequired() { 
    var ret = true; 

    $(".required").each(function() { 
     var check = $(this).val(); 

     if(check == '') { 
      //alert($(this).attr("id")); 
      ret = false; 
     } 
    }); 

    if(!ret) { 
     alert("One or more fields cannot be blank"); 
     return false; 
    } 
} 

在我的形式提交按钮,我运行此的onClick

<input type="submit" onClick="CheckRequired();" /> 

如果在形式与一类所需的任何领域有一个空白值,错误会提醒用户,表单不应该提交。

该警报显示,但形式似乎仍然被提交

回答

1

use preventDefault。此方法确保事件的默认操作不会被触发。

function CheckRequired(event) { 
var ret = true; 

$(".required").each(function() { 
    var check = $(this).val(); 

    if(check == '') { 
     //alert($(this).attr("id")); 
     event.preventDefault(); 
    } 
}); 

if(!ret) { 
    alert("One or more fields cannot be blank"); 
    event.preventDefault(); 
} 

}

+0

'return false'的确如此,但是当事件处理程序将链接到按钮而不是表单时,它将阻止按钮的行为,并且不会让表单被提交,除非您自己从javascript执行该操作 – paulitto 2015-02-11 01:31:13

0

为了防止形式从提交你应该绑定的事件,已经形成的onsubmit,并返回函数的结果

<form onsubmit="return CheckRequired()" /> 

也为你使用jQuery它将更方便绑定事件在javascript中:

$('#form_id').submit(function(){ 
    //your form submit code 
})