Kann ich erreichen, dass eine Schaltfläche ein Formular nicht übermittelt?
Ich habe ein Formular, mit 2 Schaltflächen
<a href="index.html"><button>Cancel changes</button></a>
<button type="submit">Submit</button>
Ich verwende jQuery UI's Button auf sie zu, einfach wie folgt
$('button').button();
Die erste Schaltfläche sendet jedoch auch das Formular ab. Ich hätte gedacht, wenn es nicht das "type="submit""-Zeichen hat, würde es nicht funktionieren.
Offensichtlich könnte ich dies tun
$('button[type!=submit]').click(function(event) { event.stopPropagation(); });
Aber gibt es einen Weg, wie ich verhindern kann, dass die Schaltfläche "Zurück" das Formular ohne JavaScript-Eingriff abschickt?
Um ehrlich zu sein, habe ich eine Schaltfläche nur verwendet, damit ich sie mit jQuery UI gestalten kann. Ich habe versucht, button()
auf dem Link aufzurufen und es hat nicht wie erwartet funktioniert (sah ziemlich hässlich aus!).
471
3
Der Standardwert für das Attribut
type
vonbutton
Elementen ist "submit". Setzen Sie es auftype="button"
, um eine Schaltfläche zu erzeugen, die das Formular nicht abschickt.In den Worten des HTML-Standards: "Macht nichts."
[Das Element
button
(http://www.w3.org/TR/html401/interact/forms.html#h-17.5) hat den Standardtypsubmit
.Sie können es dazu bringen, nichts zu tun, indem Sie den Typ
button
einstellen:Verwenden Sie einfach das gute alte HTML:
Wenn Sie es wünschen, können Sie es als Betreff eines Links einfügen:
Oder wenn Sie entscheiden, dass Javascript eine andere Funktionalität bereitstellen soll: