Identyfikacja uruchomionego przycisku dla zdarzenia submit w jQuery

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

 

 

 

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here

Loading Facebook Comments ...