Mam funkcji, które używam, aby zapobiec wielu postbacks o postaci:Jak mogę znaleźć przycisk, który został kliknięty w zdarzeniu przesyłania formularza w jquery?
var submitted = false;
$(function() {
$('form').bind('submit', function(e) {
if (!submitted && CanSubmit(e)) {
submitted = true;
return true;
} else {
return false;
}
});
});
W metodzie CanSubmit
muszę przesłuchać przycisk, który został kliknięty w celu ustalenia, czy powinienem pozwolić złożyć lub nie .
Należy pamiętać, że nie można powiązać z konkretnymi zdarzeniami kliknięcia - więcej szczegółów w artykule this previous question.
W przeglądarce Firefox mogę używać e.originalEvent.explicitOriginalTarget
, ale najwyraźniej nie jest to dostępne w IE.
Jak uzyskać tę wartość z parametru e
w trybie przeglądarki?
Czy funkcja CanSubmit jest funkcją sprawdzania poprawności? Dlaczego obchodzi cię, jaki przycisk został naciśnięty? Czy masz więcej niż jeden przycisk w danym formularzu? – Scott
Nie, to ostatecznie funkcja określenia, który przycisk został naciśnięty. Dbam o to, ponieważ niektóre przyciski powodują, że posty są w porządku (anuluj, dom itp.), Podczas gdy inne powodują, że posty nie są (przesyłaj, edytuj itp.). Tak, mam więcej niż jeden przycisk w formularzu. – Damovisa