Woher weiß ich, auf welche Übermittlungseingabe beim Senden geklickt wird?
Frage
Woher weiß ich, auf welche Übermittlungseingabe beim Senden geklickt wird?
Zum Beispiel möchte ich wissen, ob 'aktualisieren' eingabe senden oder 'aktualisieren_schließen' eingabe senden wird auf Senden geklickt.
HTML,
<form id="form_data">
<input type="input" name="title" value="" />
<input type="submit" name="update" value="Update" />
<input type="submit" name="update_close" value="Update and Close"/>
</form>
jquery,
$(document).ready(function(){
$('#form_data').submit(function(e){
alert($(this).serialize());
return false;
});
});
Lösung
Sie können dies im Submit-Handler nicht wissen.Diese Informationen werden nicht weitergegeben.Was Sie tun könnten, ist das zu abonnieren click
ereignisse dieser 2 Schaltflächen und aktualisieren Sie eine globale Variable oder ein HTML5 data-*
attribut auf dem Formular, damit Sie es in Ihrem Formular-Übermittlungshandler wissen.
Auch wenn Sie das aufrufen .senden Sie das Ereignis programmgesteuert, ohne auf eine Schaltfläche zu klicken. Diese Informationen ergeben einfach keinen Sinn.
UPDATE:
Beispiel mit HTML5 data-* Attributen:
$('#form_data :submit').click(function() {
$(this).closest('form').data('submitbutton', $(this).attr('name'));
});
und in Ihrem Submit-Handler:
$('#form_data').submit(function(e) {
var submitButton = $(this).data('submitbutton');
...
});