Ich habe ein Problem mit dem Aufruf der JS-Methode aus dem Formular im MVC3-Projekt: Ich habe eine "Such" -Seite ohne Formulare mit zwei Schaltflächen - Suchen und Abbrechen. Klicken Sie auf Suche läuft JS Funktion runSearch in ProductDefinition.
%Vor%
Wie kann ich diese JS-Methode (runSearch) ausführen, wenn ich drücke? So weit ich verstehe, wird dies ein onsubmit-Ereignis sein, das ein Formularereignis ist, also muss ich ein Formularelement mit der Eigenschaft onsubmit hinzufügen. Ich habe versucht umgebende Eingabefeld mit BeginForm Helper-Methode:
%Vor% aber es scheint nicht zu funktionieren - wenn ich drücke, gebe ich aus irgendeinem Grund die Quelle der Seite und komme zu localhost /? onsubmit = productDefinition.runSearch () URL.
Was kann die Ursache des Problems sein und wie kann ich das gleiche Verhalten für onsubmit wie für onclick erhalten?
Sie müssen die folgende Version der BeginForm-Methode verwenden um HTML-Attribute anzugeben.
Es wird jedoch als schlechte Methode angesehen, inline-Javascript zu verwenden, so dass ich vorschlagen würde, Ihrem Formular ein id-Attribut zuzuweisen und stattdessen sein submit-Ereignis in der externen javascript-Datei zu behandeln. Wenn Sie jQuery für Ihr Projekt verwenden, finden Sie hier ein gutes Beispiel aus ihren Dokumenten - Ссылка . In Plan JavaSript ist es ein bisschen schwieriger, aber immer noch einfach zu tun.
Tags und Links asp.net-mvc asp.net-mvc-3 javascript html c#