Wie Sie wissen, welche submit-button ausgelöst wird das Ereignis onsubmit
Wenn du mehr als einen submit-button in einem Formular gibt es eine Möglichkeit zu wissen, was man feuerte die onsubmit
Fall ohne hinzufügen von code, um die Tasten selbst?
Edit: muss ich den check auf dem client-Seite, d.h. mit JavaScript.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den "submit" - Ereignis wird nicht ausgelöst durch den Knopf, aber seine angefeuert von der "form". Ein kurzer test beweist dies:
Obwohl in firefox, die Sie verwenden können
event.explicitOriginalTarget
Eigenschaft auf die Veranstaltung, um sich auf den input (submit), auf die geklickt wurde verursacht das submit-Ereignis ausgelöst werden. (wenn Sie wissen wollen)Also am besten Optionen für Sie sind:
Nicht mit einem Ereignis-listener für jeden button zählen als code hinzufügen? Ansonsten, es gibt keinen Weg, um zu sehen, welche Taste ausgelöst das submit-Ereignis, es sei denn, Sie wollen zu get down and dirty und berechnen der position der Maus während des Ereignisses und vergleichen Sie die Schaltfläche Positionen.
Sonst, ist die nächste beste Sache würde sein, weisen Sie einen Ereignishandler für das click-Ereignis der Schaltfläche, und weisen Sie den Namen der Schaltfläche, um eine variable, die Sie prüfen können, in form submit event.
Gibt es ein paar Möglichkeiten, die ich denken kann.
Können Sie verschiedene Werte zu verwenden, und Ihre unaufdringliche javascript kann helfen.
Einer Diskussion über diesen Ansatz (mit unterschiedlichen Werten für jeden Knopf) ist hier:
http://www.chami.com/tips/internet/042599I.html
Ich Neige dazu, gehen mit den verschiedenen
name
Attribute für jede Taste.Einen blog auf, der ist hier: http://www.codetoad.com/javascript/multiple.asp
Ich nicht Folgen, entweder von diesen, welcher Ansatz am besten ist hängt von verschiedenen Faktoren, wie behandeln Sie die submit-buttons in javascript oder der server erhalten die form, dann haben, um herauszufinden, was der Benutzer wollte.
Persönlich, ich bevorzuge die Verwendung der ajax-Ansatz, jetzt, wo ich gerade Ereignisse anfügen, um die Tasten, nachdem die Seite geladen ist, mit unaufdringlich javascript -, und dann basierend auf der Benutzer-Wahl-Aufruf aus, um die korrekte Funktion, aber das hängt davon ab, ob Sie hinzufügen können Sie ein Skript link zu der html-Seite.
UPDATE:
Um dies zu tun, mit javascript, am einfachsten ist es, fügen Sie einen Ereignis auf der klicken Sie auf den Knopf, und dann schauen Sie auf den Namen, um zu entscheiden, wie man damit umgeht.
In der Wirklichkeit, die form, die nie wirklich werden an den server gesendet werden, aber Sie können alles in den hintergrund, indem er die Parameter (Optionen) und sendet Sie an den server, und lassen Sie die Benutzer wissen, die Ergebnisse.
Sorry das Aufwärmen dieser sehr alten thread. Die Frage war noch nicht beantwortet, hier aber nur Ansätze für praktische Problemlösungen wurden hier gegeben werden, vor.
Sondern das event-Objekt hat Informationen darüber, welches Objekt initiiert wurde, kann es. In einem handler b4submit(e) können Sie den submit-button wie dieser:
Wird aber ein HTML-Objekt mit allen Attributen, die Sie zugewiesen haben, es mit, wie name, id, value, etc.
Ich kam in dieser nach einigem Debuggen, und ich dachte, es könnte von einem größeren Interesse als eine saubere Lösung für dieses Problem.
explicitOriginalTarget
. Es ist eine mozilla-spezifische Eigenschaft.