2009-07-07 29 views
0

Ich habe ein Ajax-Formular, das ein Div aktualisiert, wenn es mit einem Submit-Button gesendet wird. Das funktioniert einwandfrei. Ich möchte jedoch die Schaltfläche "Senden" entfernen und das Formular automatisch senden lassen, wenn ein Benutzer eine Auswahl in einer Dropdown-Liste ändert.ASP.Net MVC Einreichen eines Ajax-Formulars über JQuery

ich folgende JQuery für diesen in dem Drop-Down-Änderungsereignis schrieb

$("#SummaryFilterForm").submit(); 

Das Problem dabei ist, dass sich das onSubmit-Ereignis des Formulars nicht auslösen die machen teilweise verursacht zu einer neuen Seite zu machen und nicht in ein div im aktuellen Fenster.

Wie kann ich die JQuery dazu bringen, das Formular zu senden und auch das onsubmit-Ereignis auszulösen?

Danke

Antwort

4

Wie reichen Sie die Ajax-Anfrage ein? Wenn Sie $ Schnipsel verwenden Sie können diese verwenden:

function connectDropdown() { 

    $("select#drpFilter").unbind('change').change(function() { 

     $.ajax({ 
     type: "POST", 
     url: "/YourController/YourAction", 
     data: { 
      YourParameter: someValue, 

     }, 
     dataType: "json", 
     success: function(result) { 
      alert('works like a charm'); 
      //update div here 
     } 
     }); 
    }); 
    } 
+0

Aber was ist mit onsubmit event? –

+0

er kann das Onssubmit() - Verhalten zum Callback hier hinzufügen –

0
<form name="SummaryFilterForm" id="SummaryFilterForm" onsubmit="connectDropDown(this); return false;"> 

können Sie ersetzen ‚connectDropDown()‘ mit dem, was Funktion, die Sie anrufen möchten, und Ihre Form hineingeben, so dass Sie Ihre Werte abrufen können.

+0

dachte, wir versuchten, weg von Inline-Skript-Attributen zu bekommen und unaufdringlich zu sein! – redsquare