2012-07-22 19 views
0

我這個形式,它是假設提交形式在javascript驗證不起作用可能

$(document).ready(function() { 
    $("#form3").validate(); 
    if ($('#form3').valid()) $('#form3').submit(); 
}); 

之前驗證表單上工作,但問題是:它打印(空字段錯誤)時,形式是加載。


UPDATE:該功能現在工作Horraaay :)用下面的代碼:

 <script> 
     $(document).ready(function(){ 
     $("#form3").validate(); 
    }); 
    </script> 

唯一的問題是輸入表單名稱..我用「提交」作爲輸入的名稱然而之前的形式卻是不同的名字。

回答

1

把你的代碼放在表單提交事件。這樣的事情:

$(document).ready(function() 
{ 
    $("#form3").validate(); 
    $("#form3").submit(function(event)  
    { 
     if (!$(this).valid()) 
     { 
      event.preventDefault(); 
     } 
    }); 
}); 
+1

無需使用*'preventDefault'和'return false'。 – ThiefMaster 2012-07-22 08:16:50

+0

沒錯,只是一個安全網。但也許矯枉過正/毫無意義。 – 2012-07-22 08:17:10

+0

'$(this).validate'初始化插件,我想你想早點做。 – Esailija 2012-07-22 08:17:37

0

我認爲默認情況下,成功驗證後,它會提交表格。不過,我不知道爲什麼你需要重新提交表單。

如果您需要手動提交,則可以使用SubmitHandler地點提交表單。

$("#form3").validate({ 
    submitHandler: function(form) {  
    form.submit(); 
    } 
}); 
0

我解決了這個問題,現在它工作... 這是一個小錯誤!

我將提交按鈕名稱和ID更改爲(提交)。