2011-08-09 16 views
11

Veri-remote => true ile gönderen bir formum var.Alan boşsa jquery ujs ile form gönderimini önleme

Formda bir alan var, bir textarea. Eğer textarea uzunluğu 0 ise formun sunulmasını engellemek istiyorum ve sadece uzunluk GT 1 ise bir form gönderimine izin vermektir.

Formlara bir rayda 3, jquery ujs dostu şekilde nasıl bağlanırım. Denedim aşağıdaki ama bu form gönderimleri durmadı:

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

Teşekkür

+4

Sana ne yapmak istediğini hakkında çok şey bilmiyorum, ama senin anonim işlev bir 'e' parametre eksik görünüyor: ': önce ajax'' $ ('# new_feedback') bağlama (. , işlev (e) { e.preventDefault(); }); ' – Johnny5

cevap

7

formun kendisinde doğrudan bağlayabilir. Bu şekilde, istediğiniz alanı ve formun gönderilip gönderilmediğini kontrol etmek istediğiniz diğer alanları da kontrol edebilirsiniz. Geri dönüş, form gönderimini iptal eden şeydir.

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

@downvoter Yorum yapmak için özen gösterin. Bu cevabın neredeyse 2 yaşında olduğunu ve jQuery'nin dahililerinin biraz değiştiğini fark ettim, ama bu hala geçerli bir cevap. – Kyle

+0

Raylarda iyi çalışıyor gibi görünüyor 4.x Teşekkür ederim. – dps

İlgili konular