Ich bin auf der Suche nach elegant Weg, meine Formulare (mit jQuery) zu ajaxifizieren.
Wie machst du das?MS MVC Formular AJAXifying Techniken
Antwort
Hier ist meine Lösung (ich glaube, es ist eine Progressive enhancement Lösung), nur mit jQuery ohne Plugins:
var form = $('form#YourFormId');
$(':submit', form).click(function (event) {
event.preventDefault();
$.post(form.attr('action'), form.serialize(),
function(data, status) {
if(status == 'success') {
// your code here
}
}
);
});
AKTUALISIERT:
Wenn Ihre POST-Antwort "HTML mit Form" ist dann versuchen Sie dies:
function ajaxifyForm(form) {
$(':submit', form).click(function (event) {
event.preventDefault();
$.post(form.attr('action'), form.serialize(),
function(data, status) {
if(status == 'success') {
var newForm = $(data);
ajaxifyForm(newForm);
form.after(newForm).remove();
}
}
);
});
}
Das sieht aus wie ich suche. Ich muss versuchen ... –
In "Dein Code hier" Teil schrieb ich $ ("form # YourFormId) .html (Daten); Nach dem ersten Treffer geht alles reibungslos. Aber, auf dem 2. Treffer posts Felder unverändert, bindet mein FormModel falsch und bekommt falsche Antwort.:/ –
Ich habe meine Antwort aktualisiert, aber es ist nicht getestet –
Kasse JQuery plugins storage Ich bin sicher, es werden Sie feststellen, dass Sie
Ich habe das jQuery Form Plugin gefunden. Es sieht gut aus, aber ich bin mir nicht sicher, wie man es richtig benutzt. –
ok alles, was Sie brauchen, ist die Aufnahme von Founded Plugin zu Ihrer Site.Master und erstellen Sie die Funktion auf Dom bereit, die Ihre Logik auf Formular senden wird. http://plugins.jquery.com/project/form hier kommt gute Beispiel und hier, wie man in http://malsup.com/jquery/form/ – omoto
Ich möchte das vereinfachen. Die perfekte Lösung wäre etwas wie das Hinzufügen eines kurzen JS Funktionsaufrufs in Form onload. Sie wissen - in kompakter und deklarativer Weise. Ich möchte nicht, dass alle meine Ansichten mit –
Ajaxify Ihre Formulare müssen ... das ist ziemlich vage.
Wenn Sie ein Formular asynchron übermitteln möchten, können Sie $ .post() verwenden, um eine separate Controller-Aktion zu senden.
Beispiel:
Nach Ansicht:
$.post('<%= Url.Action("DoAjaxCall") %>', $('form').serialize(),
function (data) {
alert(data.Message);
}
, "json");
In Ihrem Controller:
public ActionResult DoAjaxCall(YourModel model)
{
return Json(new { Message = "Your ajax call is working!" });
}
Das ist, was ich in einigen meiner Formen zumindest bin mit.
P.S .: Ich schrieb dies in den Stackover-Text-Editor, so dass es nicht wirklich getestet wird. Aber als Umriss sollte es funktionieren.
- 1. Ajaxifying Struts2 Anwendung
- 2. ms Zugangsprozentsatzberechnung auf Formular
- 3. MS MVC Login-Widget
- 4. Gesamtanzeige auf MS Access-Formular
- 5. Usability-Techniken für bessere Formularpräsentation
- 6. Modell Passing in MS MVC
- 7. ASP.NET MVC Formular Post
- 8. Windows-API-Spionage-/Hijacking-Techniken
- 9. MVC Binding Formular Daten Problem
- 10. MVC-Formular mit Teilansicht senden
- 11. Abbrechen-Schaltfläche in Mvc-Formular
- 12. ASP.NET MVC Teilansicht mit Formular
- 13. Spring MVC: Formular: Fehler Tag
- 14. MVC Html.CheckBox und Formular Ausgabe
- 15. Feder-Mvc-Formular: Tag auswählen
- 16. Kontaktseite Formular wirft Fehler MVC
- 17. MS Identity und Access-Tool MVC 4
- 18. Interactive PHP-Shell Techniken
- 19. Dojo Müllabfuhr/Ressourcenfreigabe Techniken?
- 20. Multiprocessing Debug-Techniken
- 21. AVL Baum rotierende Techniken?
- 22. Basic C++ Idioms/Techniken
- 23. Oracle Debugging-Techniken
- 24. Spring MVC Formular - hinzufügen Erfolg Nachricht und löschen Formular
- 25. MS Word-Dokument in MS Word von einem C# Windows-Formular öffnen
- 26. MS Access - Hinzufügen neuer Rekord Formular und fügen Sie Informationen
- 27. Hinzufügen von mehreren Textfeldern zu einem Formular in ms-Zugriff?
- 28. kann nicht Kind Formular oben bleiben in MS-Zugang
- 29. MS Access Formular füllen bestimmte Felder in einer Excel-Datei
- 30. MS Access Controlling Kopieren/Einfügen von Daten aus fortlaufendem Formular
Diese Frage scheint nicht am Thema zu sein, weil es eine Umfrage ist. –