2013-04-29 3 views
5

nicht Erstens gesetzt sind, habe ich die jQuery so einrichten, ist das Formular nicht: http://jsfiddle.net/FztLS/1/Stoppen Kommentar Vorlage, wenn die Felder

nur, dass es nicht vorzulegen, wenn die Felder gesetzt sind. Ich habe mich gefragt, ob irgendjemand wusste, was im Drehbuch schief lief.

Ich nahm an, dass die return false; nur gelten würde, wenn das Feld leer war.

Wie kann ich die Klasse auch auf jedes leere Feld anwenden, nicht nur auf das erste?

Schließlich gibt es eine bessere Möglichkeit, die Radio-Box-Validierung einzuschließen?

Antwort

0

Aktualisieren Sie Ihre else Klausel:

else { 
    $('#respond input, #respond textarea').removeClass('form_error'); 
    $('#commentform').submit(); 
} 

Hier ist die Geige: http://jsfiddle.net/FztLS/5/

0

Die Veranstaltung ‚Senden‘ kann nur auf ein Formularelement gebunden sein, Sie versuchen, es zu einem Abschnitt zu binden .

FYI, $("section#respond") ist schlechte Praxis. Sie sollten nie mehr als ein Element mit der gleichen ID pro Seite haben, alle möglichen Dinge werden schief gehen. Dies wird genügen: $("#respond").

+0

Yeah erkannte ich später, dass ich es an das falsche Element gebunden hatte -.- und es gibt nur ein "# antworten" Ich füge einfach das Element zuerst hinzu, damit ich es im Dev-Modus schnell referenzieren kann. Aber danke, dass du mich daran erinnert hast! – Ahhhhhhhhhhhhhdfgbv

0

Das Problem ist hier:

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

Da diese Radio-Buttons gibt es immer unkontrolliert diejenigen sein, so dass Sie immer einen Wert bekommen und daher falsch zurück.

Versuchen Sie stattdessen:

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

Was bedeutet "Wenn kein Optionsfeld aktiviert ist".

0

Vielen Dank an alle, die geholfen, aber ich am Ende mein eigenes Problem zu beheben: http://jsfiddle.net/yBmdx/20/

, dass von Grund auf neu Stellt sich heraus, und ein if($validForm) die beste Methode war die Einrichtung.

Verwandte Themen