2015-02-11 75 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 
})