2016-10-20 1 views
-1

In meiner MVC4 Anwendung validieren will, muß ich einen Eingabetyp Submit-Button, aber ich verhindern, dass es die Natur ist, e.preventDefault() in meinem Jquery und ihnen einen AJAX POST AufrufIch habe einen Knopfeingabetyp senden Sie das Formular unter Verwendung von MVC jQuery

('#submit').click(function(e){}) 

mag ich ganze Form für die erforderlichen Werte vor diesem Aufruf validieren und dann weiter nur gehen ..

ich bin in der Lage, dies zu tun, wenn ich diese Funktion nicht ('#submit').click(function(e){}); dh verwenden. Mit der einfachen Eingabe-Schaltfläche "Senden" wird das Formular automatisch von jquery validiert.

Wie kann ich die gleiche Funktionalität verwenden? In diesem Fall mache ich einen Ajax-Anruf am Senden-Button. Ich habe das benutzt, aber es funktioniert nicht !!

$("#userform").validate(); 
$("#userform").valid() 
+0

'if (. $ ("# Userform") gültig()) {Ajax-Aufruf machen} else {return; } ' –

+0

es ist immer wahr @StephenMuecke –

+0

Dann ist Ihr Formular gültig! (oder Sie haben das Formular nicht korrekt eingerichtet) –

Antwort

2

Angenommen, Sie haben jquery.unobtrusive und jquery.validate geladen dann:

$("#registerUserForm").submit(function() { 
      if ($(this).valid()) { 
       $.OverWatch.worker.postUserData(this.action, $(this).serialize(), function (data) { 
       //callback 
       }) 
      } 

      return false; 
     }) 

    postUserData: function (url, data, callback) { 

     $.LoadingOverlay("show"); 
     $.ajax({ 
      url: url, 
      type: 'POST', 
      data: data, 
      success: function (data) { 

       if (callback) { 
        callback(data); 
        $.LoadingOverlay("hide"); 
       } 

      }, 
      error: function (event, jqxhr, settings, thrownError) { 
       $.LoadingOverlay("hide"); 
      } 
     }); 
Verwandte Themen