Ich arbeite an einer ASP.net-Webanwendung.
Ich habe ein Formular mit einem Senden-Button. Der Code für die Schaltfläche "Senden" sieht folgendermaßen aus <input type='submit' value='submit request' onclick='btnClick();'>
.
Ich möchte so etwas wie folgendes schreiben:
function btnClick() {
if (!validData())
cancelFormSubmission();
}
Wie mache ich das?
javascript
html
forms
html-input
Vivian River
quelle
quelle
submit
Eingänge. Ich denke, ich werde versuchen, serverseitige Steuerelemente auf dieser Seite zu verwenden.Antworten:
Du bist besser dran ...
Wenn Sie
isValidForm()
zurückkehrenfalse
, wird Ihr Formular nicht gesendet.Sie sollten Ihren Event-Handler wahrscheinlich auch von Inline verschieben.
quelle
onsubmit
zur Arbeit kommen kann, wenn ich ASP.net benutze, weil asp.net ALLES in seiner eigenen Form verpackt ...Ändern Sie Ihre Eingabe in Folgendes:
Und geben Sie in Ihrer Funktion false zurück
quelle
Du musst dich ändern
zu
und
zu
Trotzdem würde ich versuchen, die intrinsischen Ereignisattribute zugunsten von unauffälligem JS mit einer Bibliothek (wie YUI oder jQuery) zu vermeiden, die über eine gute API zur Ereignisbehandlung verfügt und mit dem Ereignis verknüpft ist, das wirklich wichtig ist (dh stattdessen das Übermittlungsereignis des Formulars) des Klickereignisses der Schaltfläche).
quelle
Manchmal
onsubmit
würde mit asp.net nicht funktionieren.Ich habe es auf sehr einfache Weise gelöst.
wenn wir eine solche Form haben
Sie können dieses Ereignis jetzt vor dem Formular-Postback abrufen, das Postback stoppen und mit dieser Abfrage den gewünschten Ajax ausführen.
quelle
Sie sollten den Typ von ändern
submit
inbutton
:anstatt
Sie erhalten dann den Namen Ihrer Schaltfläche in Javascript und ordnen ihr die gewünschte Aktion zu
arbeitete für mich hoffe es hilft.
quelle
Sie müssen
return false;
:quelle
Warum ändern Sie nicht die Schaltfläche "Senden" in eine normale Schaltfläche und senden Sie beim Klickereignis Ihr Formular, wenn es Ihre Validierungstests besteht?
z.B
quelle
Du brauchst
onSubmit
. NichtonClick
anders kann jemand nur drücken Sie die Eingabetaste , und es wird die Validierung umgehen. Wie zum Stornieren. Sie müssen false zurückgeben. Hier ist der Code:Bearbeiten onSubmit gehört in das Formular-Tag.
quelle
Es ist einfach, geben Sie einfach false zurück.
Der folgende Code befindet sich innerhalb des Klicks auf die Schaltfläche "Senden" mit jquery.
quelle
verwenden
onclick='return btnClick();'
und
quelle
quelle
ev.preventDefault()
oderev.returnValue = false
abbrechen, aber das Sprudeln von Ereignissen nicht verhindern, falls andere Steuerelemente dasselbe Ereignis auf demselben Element beobachten. Verwenden Siereturn false
nur , wenn Sie das Ereignis beenden möchten aus sprudelnden und brechen Sie die Standardaktion. Siehe diesen Artikel .quelle
Mit JQuery ist es noch einfacher: Funktioniert in Asp.Net MVC und Asp.Core
quelle