2016-04-05 2 views
0

im Validieren eines Formulars mit Formularvalidierung io, was passiert, wenn das im Klonen de gesamte Formular vor dem Senden über Ajax, wenn ich einen Fehler in der Rückseite, eine Last ein Fehler msg mit einer Schaltfläche, wo, wenn geklickt wird, laden Sie das Formular erneut, aber der Validator nicht loger einmal funktioniert wird geladen.Wie zu tun, dass fomvalidation io wird immer für die Validierung eines Formulars

Hier ist ein Teil meines Codes, wenn mir jemand helfen könnte:

 $.on("success.form.fv", function(e){ 
       e.preventDefault(); 
       var $form= $(e.target); 
       var modal= $form.children(".modal-body"); 
       var datos= $form.serialize(); 
       var modalClonado= modal.children(".row").clone(); 


       $.ajax({ 
        success: function(data) { 
         if ("user" in data) { 
          modal.html(error+data.user+cerrarError); 
         } 
        } 
       }); 
       $form.on("click", "button", function(){ 
        modal.html(modalClonado); 
        $form.find("#submit") 
          .removeClass("disabled") 
          .prop("disabled", false); 
       }); 
      }); 

Antwort

0

Wenn Sie Ihre ursprüngliche Form aus dem DOM werden entfernt und dann durch einen neuen ersetzt werden Sie ein Validator nicht haben angebracht zu ihm. Sie müssten Ihrem Formular ein weiteres Validierungsobjekt hinzufügen, das Ihr Formular validiert, wenn Sie versuchen, das neue Formular einzureichen.

Warum müssen Sie Ihr Originalformular vollständig ersetzen, wenn es die Validierung nicht besteht? Wäre es einfacher, stattdessen dem Benutzer zu erlauben, ungültige Felder auf dem Original zu bearbeiten und es ihnen zu ermöglichen, das Formular erneut zu übermitteln?

edit:

Sobald Sie Ihre Ergebnisse aus Ihrer Bestätigung erhalten Sie e.preventDefault() verwenden, um die Vorlage des Formulars zu stoppen, wenn die Validierung nicht und auch Ihre Fehlermeldung anhängen nicht passieren, wo immer notwendig. Dadurch wird Ihr Formular unverändert belassen (es wird nicht von der Seite weg navigiert oder die Seite muss aktualisiert werden) und der Benutzer kann in das Formular zurückkehren, um ungültige Felder zu bearbeiten und anschließend das Formular erneut zu senden wieder stattfinden. Wenn das Formular erfolgreich validiert wurde, können Sie Ihr Formular unter Verwendung von .submit() auf Ihrem Formular absenden. $('#formToSubmit').submit(). Auf diese Weise müssen Sie Ihr Validierungsobjekt nur einmal zu Ihrem ursprünglichen Formular hinzufügen, und dann kann der Benutzer versuchen, das Formular bis zum erfolgreichen Senden weiterzuleiten.

+0

Das ist was ich versuche zu tun, wie Sie das tun können? –

+0

hat meiner Antwort eine Bearbeitung hinzugefügt. ich hoffe es hilft. – scoots

+0

Das Formularvalidierungs-Plugin, das bereits verwendet hat ein Submit-Ereignis (das ist der Code oben), mit clone() und html() und bereits das Formular wie vor dem submissioning, mein Problem ist, dass sobald es fertig ist, es kein loger validieren die Form –

Verwandte Themen