2016-08-07 16 views
1
zu

Ich versuche Felder zu validieren, die mit jQuery $().load(); geladen wurden.Weisen Sie das dynamisch geladene HTML-Element der Variablen

mit Jquery Validierung Plugin (jqueryvalidation.org)

Mein Code ist:

var contactForm = $('#contact-form'); 
     contactForm.validate({ 
     rules: { 
      name: { 
       required: true, 
      }, 
      email: { 
       required: true, 
       email: true 
      }, 
      phone: { 
       required: false, 
       phoneUS: true 
      }, 
      message: { 
       required: true 
      } 
     } 
     }); 

Leider ist es nicht mit Elementen arbeiten mit Last geladen();

Nach einiger Google-Suche ich eine Lösung gefunden, aber sie sind alle auf „Event“ zu verbessern, nicht dynamisch hinzugefügt Eingang Variable übergeben:

$(document).on('click','#submit',function() {}); 

ich es auch mit diesem Code zu nähern versuchte Gebrüll:

$('.home').click(function() { 
    $("#article").load("./ #article > *",function(){ 
     contactForm = $(this).find("#contact-form"); 
    }); 

auch nicht funktioniert, obwohl :(

ich irgendwelche Hinweise und Hilfe zu schätzen wissen wird.

+0

Nur eine Randnotiz: Verwenden Sie nie "Klick" -Ereignisse für Formulare, da die Tastaturübergabe sie umgehen kann (Browser abhängig). Verwenden Sie stattdessen das Ereignis "submit". –

Antwort

0

Versuchen sie dynamisch hinzuzufügen:

$("#contact-form").find('input').each(function() { 
    $(this).rules("add", { 
     required: true 
    }); 
}); 

Hoffnung, das hilft.

+0

Hallo, ich möchte nicht jede Eingabe erforderlich machen, ich möchte Formular finden und Funktion .validate() anwenden, die bestimmte Regeln bestehen. –

+0

Fügen Sie Ihrem OP den HTML-Code hinzu und geben Sie die dynamisch hinzugefügten Felder an. –