2012-01-31 137 views
1

這裏是我的代碼不工作(它返回真),並提交自己的狀態,即使驗證錯誤:爲什麼這個jQuery返回true?

jQuery().ready(function() { 
    jQuery("#post").validate({ 
     invalidHandler: function(form, validator) { 
      $("#publish").removeClass("button-primary-disabled"); 
      $('#ajax-loading').hide(); 
      return false; 
     } 
    }); 
}); 

此代碼將返回false就好了工作,因爲它應該:

jQuery().ready(function() { 
    jQuery("#post").validate({ 
     invalidHandler: function(form, validator) { 
      return false; 
     } 
    }); 
}); 

爲什麼不是第一個工作?

編輯1:刪除尾隨逗號,但他們不是問題。

編輯2:萬一它很重要,我用它來驗證Wordpress管理中的自定義帖子類型輸入表單。仍然沒有解釋爲什麼一個人工作,而另一個不工作。 :/

編輯3:這似乎離開了「返回false」也以同樣的把它留在

新的問題:如何回頭率無效的(未提交表單,並返回這個默認功能標準錯誤消息),但也修改我的兩個元素?

+0

您是否定義了任何規則? – brenjt 2012-01-31 03:11:57

+0

@brenjt nope沒有規則,爲什麼? – Dave 2012-01-31 03:13:39

+0

規則是什麼決定什麼樣的數據需要驗證,如果返回false invalidHandler然後被解僱 – brenjt 2012-01-31 03:14:54

回答

0

只需查看您的代碼,我注意到在您的invalidHandler函數後有一個語法錯誤:有一個尾隨逗號。

jQuery().ready(function() { 
    jQuery("#post").validate({ 
     invalidHandler: function(form, validator) { 
      $("#publish").removeClass("button-primary-disabled"); 
      $('#ajax-loading').hide(); 
      return false; 
     } 
    }); 
}); 

此外,當離開return false時窗體會做什麼?在文檔中我沒有看到任何事情。在執行到達這一點時,表單的提交應該已經被取消。

http://docs.jquery.com/Plugins/Validation/validate

+0

謝謝你的收穫。但它仍然以任何方式行事。 – Dave 2012-01-31 03:09:52

+0

*尾隨逗號* *在哪裏?這和第二個一樣。 – Lion 2012-01-31 03:10:22

+0

@lion。他編輯了這個問題...... – gdoron 2012-01-31 03:10:54

相關問題