2011-08-09 13 views
11

Mam formularz, który przesyła z danymi-remote => true.Zapobieganie przesyłaniu formularzy za pomocą jquery ujs, jeśli pole jest puste

Formularz ma jedno pole, obszar tekstowy. Chcę uniemożliwić przesłanie formularza, jeśli długość pola tekstowego wynosi 0 i dopuszcza się tylko przesyłanie formularza, jeśli długość wynosi GT 1.

Jak połączyć formularz w szyny 3, przyjazny sposób jquery ujs. Próbowałem następujących ale to nie powstrzymało formularz zgłoszenia:

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

Dzięki

+4

nie wiem dużo o tym, co chcesz zrobić, ale wydaje się, że anonimowa funkcja brakuje '' e' parametr: $ („# new_feedback”) wiązania (. „Ajax: przed” , function (e) { e.preventDefault(); }); ' – Johnny5

Odpowiedz

7

można wiązać bezpośrednio do samej formie. W ten sposób możesz sprawdzić pole, które chcesz, a także inne pola, które chcesz sprawdzić po przesłaniu formularza. return false oznacza anulowanie przesyłania formularza.

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

@downvoter Chcesz komentarz? Zdaję sobie sprawę, że ta odpowiedź ma prawie 2 lata, a elementy wewnętrzne jQuery nieco się zmieniły, ale jest to nadal poprawna odpowiedź. – Kyle

+0

Wydaje się działać poprawnie na szynach 4.x. Dziękuję Ci. – dps

Powiązane problemy