Aby odebrać zdarzenie wysłania formularza za pomocą jQuery należy użyć metody submit() , jednak czasami zdarza się , że mamy kilka inputów i musimy zidentyfikować za pomocą którego zostało wywołane zdarzenie. Nie znajdziemy takiej informacji w $(this), musimy użyć następującego kodu:
$(selektor).submit(function(event) { var button=event.originalEvent.explicitOriginalTarget; alert($(button).attr('title')); });
Dzięki event.originalEvent.explicitOriginalTarget pobieramy obiekt wciśniętego przycisku, potem należy tylko wyłuskać odpowiednią wartość – w tym przypadku title. Niestety z tego co zauważyłem kod działa jedynie w przeglądarce Mozilla, aby był uniwersalny należy użyc:
$("#newsletter_form input[type=submit]").click(function() { $("input[type=submit]", $(this).parents("form")).removeAttr("clicked"); $(this).attr("clicked", "true"); });
a następnie w metodzie do której się odwołujemy ( w moim przypadku submit) dajemy:
$("#newsletter_form").submit(function(event) { var val = $("#newsletter_form input[type=submit][clicked=true]").attr('title'); // pod val mamy instancje klikniętego przycisku });