2011-08-09 107 views
11

我有一個使用data-remote => true提交的表單。如果字段爲空,防止使用jquery ujs提交表單

表單有一個字段,一個textarea。如果textarea長度爲0,我想阻止提交表單,並且只允許在長度爲GT 1的情況下提交表單。

如何綁定到rails 3,jquery ujs友好方式中的表單。我嘗試以下,但並沒有阻止形式提交:

$('#new_feedback').bind('ajax:before', function() { 
     e.preventDefault(); 
}); 

感謝

+4

我不知道很多關於你想要做什麼,但似乎你的匿名函數缺少'e'參數:'$(「#new_feedback」)綁定(「AJAX:以前」 ,功能(e){ e.preventDefault(); });' – Johnny5

回答

7

您可以直接綁定到窗體本身。通過這種方式,您可以檢查您想要的字段以及表單提交時可能需要檢查的其他字段。返回false是取消表單提交。

$('#myform').submit(function() 
{ 
    if($('#fieldtocheck').val().length < 1) 
    { 
     return false; 
    } 
}); 
+0

@downvoter關注評論?我意識到這個答案已經有近2年的歷史了,jQuery的內部已經發生了輕微的變化,但這仍然是一個有效的答案。 – Kyle

+0

似乎在rails 4.x中正常工作。謝謝。 – dps