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;
        });

    });

jsfiddle.

War es hilfreich?

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');
    ...
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top