2013-04-29 8 views
5

Po pierwsze, mam jQuery skonfigurować tak forma nie przedłoży: http://jsfiddle.net/FztLS/1/Zatrzymanie komentarz złożenie jeśli pola nie są ustawione

Tylko że nie złoży jeśli pola są ustawione. Zastanawiałem się, czy ktoś wie, co jest nie tak w scenariuszu.

Założono, że return false; ma zastosowanie tylko wtedy, gdy pole było puste.

Ponadto, w jaki sposób zastosować tę klasę do każdego pustego pola, a nie tylko pierwszego?

Wreszcie, czy istnieje lepszy sposób na włączenie sprawdzania poprawności pola radiowego?

Odpowiedz

0

Impreza „submit” może być związany tylko do elementu formularza, próbujesz powiązać go z sekcji .

FYI, $("section#respond") to zła praktyka. Nigdy nie powinieneś mieć więcej niż jednego elementu o tym samym identyfikatorze na stronę, wszystkie rodzaje rzeczy pójdą źle. To wystarczy: $("#respond").

+0

Tak, zdałem sobie sprawę później, że przywiązałem go do niewłaściwego elementu -.- a jest tylko jedno "#odpowiedzenie" Właśnie dodaję element pierwszy, więc mogę szybko go odnieść w trybie deweloperskim. Ale dziękuję za przypomnienie! – Ahhhhhhhhhhhhhdfgbv

0

Problemem jest tutaj:

if ($('input[name="rating"]:not(:checked)').val()) { 

Ponieważ są to przyciski radiowe nie będą zawsze się odznaczyć te, więc zawsze uzyskać wartość i dlatego return false.

Spróbuj to zamiast:

if($('input[name="rating"]:checked').length === 0) { 

co oznacza "Jeśli żaden przycisk radiowy jest zaznaczone".

Powiązane problemy