2017-03-08 2 views
0

ich die folgende Funktion verwende einige einfache Validierung auf einer reinen Umfrageformular Radiogruppe auszuführen:jQuery Einreichung Probleme

$('form').submit(function(e) { 
    e.preventDefault(); 
    if($('input[type="radio"]:not(:checked)').val()) { 
     this.reportValidity(); 
     return; 
    } 
    this.submit(); 
}); 

ich von diesem fiddle zu gestartet und leicht es modifiziert.

Dies funktioniert bei der Validierung von Optionsfeldern sehr gut und wie gewünscht ... aber aus irgendeinem Grund wird das Formular nicht mehr einmal senden jede Radiogruppe hat eine Auswahl, im Gegensatz zu der Version in der Geige. Ich fühle mich, als würde ich etwas ziemlich Einfaches verpassen und werde mit der Handfläche konfrontiert, sobald jemand das beantwortet.

Vielen Dank im Voraus.

+0

Ihr JS funktioniert gut, soweit ich das beurteilen kann (getestet in der Geige, die Sie zur Verfügung gestellt haben). Das Problem ist höchstwahrscheinlich woanders. – stybl

+0

@Sty die Geige ist nicht der Code, der nicht funktioniert. Entschuldigung wegen dieser Verwirrung. Der Code funktioniert nur, wenn geprüft wird, ob eine Funkgruppe mindestens eine ausgewählt hat. – daredevil1234

+0

Sollte geklärt haben, habe ich den Code, den Sie in diesem Beitrag zur Verfügung gestellt haben, durch Kopieren in die Geige eingefügt. – stybl

Antwort

3

In Ihrem modifizierten Skript suchen Sie nach JEDEM nicht aktivierten Optionsfeld, so dass die Prüfung immer beendet wird - nur einer in einer Gruppe kann überprüft werden, so dass Sie mindestens einen nicht haben müssen . Es wird keine Gültigkeitsprüfung stattfinden, da die Gruppe in Ordnung ist, aber sie wird immer noch aus der Submit-Funktion zurückkehren, ohne zum eigentlichen submit() - Aufruf zu gelangen.

+0

hmmm, das macht Sinn. Lass mich den Code ein wenig durcheinander bringen und zu dir zurückkommen – daredevil1234

+0

Viel Spaß damit! :-) –

+0

Ich habe festgestellt, dass dies der Grund ist, warum es nicht übermittelt wird. Ich war nicht in der Lage, meinen Code zu ändern, um ordnungsgemäß einzureichen, aber ich habe die Richtigkeit dieser Antwort vor einiger Zeit überprüft. – daredevil1234