Ich habe 4 Schaltflächen in meinem Formular, eine Schaltfläche "Senden", "Abbrechen", "Hinzufügen" und "Entfernen". Alle funktionieren wie erwartet, aber ich möchte die Schaltfläche Hinzufügen deaktivieren, bis das Eingabefeld gültig ist. Ich benutze das Validierungs-Plug-in und ich denke, dass dies mit einer erforderlichen Validierung mit einem Rückruf durchgeführt werden kann, aber ich bin mir nicht sicher.
Könnte mir jemand in die richtige Richtung zeigen?
UPDATE:
Hier ist eine Idee eines Codes
%Vor%Suchen Sie nach dem Optionsfeld "Wahr / Falsch", um das deaktivierte Attribut festzulegen
Ich habe das Validierungs-Plugin schon einmal benutzt, aber ich kann mich nicht mehr an alle Details erinnern. Ich bin mir ziemlich sicher, dass es so etwas ist:
%Vor%Da es so viele Möglichkeiten gibt, das Validierungs-Plugin zu verwenden, ist es schwierig, Ihnen einen perfekten Rat zu geben, aber ich hoffe, dass das, was ich gezeigt habe, Ihnen eine bessere Vorstellung davon gibt, wie Sie weitermachen können. Vielleicht, wenn Sie mehr Code und HTML geben, könnte ich Ihnen mehr helfen.
Ich habe tatsächlich den besten Weg gefunden, dies zu tun, und es verwendet eine undokumentierte Methode checkForm()
innerhalb des Plugins.
Fügen Sie diesen Code der Funktion $(document).ready()
auf der Seite hinzu, auf der sich Ihr Formular befindet.
In diesem Fall wird die Klasse button_disabled
zur Schaltfläche hinzugefügt und dann das deaktivierte Attribut hinzugefügt. Sie können einen deaktivierten Stil über CSS auf die Schaltfläche anwenden.
jQuery Plugin-Dokumentation validieren: Formularmethode
Mit der obigen Methode des Validierungs-Plugins können Sie überprüfen, ob ein Formular gültig ist. Wenn Sie also den Callback nicht zur Arbeit bringen können, würde ich einen Timer laufen lassen und überprüfen, ob das Formular immer wieder gültig ist, und wenn ja, aktivieren Sie Ihre Schaltfläche. Das ist aber scheiße.
Ich kann keinen Erfolgsrückruf für das Validierungs-Plug-In finden, daher denke ich, dass Sie mit der submitHandler-Methode nicht weiterkommen. Sie sind jedoch nicht wirklich bereit, das Formular noch zu senden, da Sie noch Felder hinzufügen möchten. Meine vorgeschlagene Lösung ist, dass die Schaltfläche "Hinzufügen" die ganze Zeit aktiviert bleibt, aber dass sie eine Funktion aufruft, wenn sie angeklickt wird, um zu sehen, ob das Formular gültig ist. Wenn ja, dann füge dein Feld oder sonst was hinzu, und wenn nicht, dann öffne die Fehler. Also:
%Vor%Oder zumindest etwas in diesem Sinne. Viel Glück!
Eine elegantere und schnellere Lösung besteht darin, einfach die standardmäßigen On-Click- und On-Keyup-Ereignisse außer Kraft zu setzen, indem Sie den benötigten Code wie folgt hinzufügen, anstatt ein weiteres Listenereignis hinzuzufügen.
%Vor%Mit dem folgenden CSS-Code für den Submit-Trigger - anfänglich deaktiviert (Bootstrap 3-Klassen):
%Vor% Dies kann sehr einfach mit dem
Initialisierung des Plug-Ins mit stumm:
%Vor%Tags und Links jquery