Add onsubmit event, um die JS-Funktion in MVC3 aufzurufen

8

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?

    
Ypsilon IV 13.02.2013, 11:16
quelle

4 Antworten

10
%Vor%     
Darren Davies 13.02.2013, 11:20
quelle
2

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.

    
Sergey Rybalkin 13.02.2013 11:23
quelle
0
%Vor%     
ajcarracedo 28.01.2015 09:08
quelle
0

Form.Id ist erforderlich, wenn onsubmit handler generische Funktionalität implementiert, die für mehrere Formulare gilt. (Beispiel: Deaktivierung aller Eingabefelder)

Formular

%Vor%

Handler

%Vor%     
tchelidze 07.12.2016 10:15
quelle