Я пытаюсь найти кросс-браузерный способ выбора атрибута id кнопки, которая нажимается во время отправки формы, имеющей две разные кнопки отправки. Я смог сделать это для FireFox с помощью следующего, но он не будет работать в IE 8 или Chrome, потому что они не поддерживают явныйOriginalTarget.
$("#postForm, #dialogPostForm, #pastPostForm").live('submit', function(event) {
event.preventDefault();
if (event.originalEvent.explicitOriginalTarget.id === 'pastPosts'){
...SNIP...
Может кто-нибудь предложить кросс-браузерный совместимый способ сделать это?
ОБНОВЛЕНИЕ Я пытался использовать ответ от Как получить кнопку, вызвавшую отправку из события отправки формы? , но я бы хотел использовать метод .live jquery и использовать Объект события, чтобы выбрать исходный идентификатор отправки ввода.
ОБНОВЛЕНИЕ Вот моя форма, из которой я пытаюсь получить исходный идентификатор кнопки отправки:
<form id="postForm" action="{% url account_tracker mashup.pk %}?fuzzy=true" method="post">
<div class="mygoal">Update Your Progress: {{ form.post }}
<input type="submit" value="+ 1" class="formbtn" style="font-size:18px;"/>
<input type="submit" value="This week" style="font-size:18px;" id="pastPosts" class="formbtn"/>
<span id="result" class="results"></span>
</div>
</form>
ОБНОВЛЕНИЕ Я придумал собственное решение. Добавьте атрибут onclick, который добавляет атрибут «name» в форму. Затем в обработке формы проверьте, является ли имя формы «прошлым», и сделайте что-нибудь с ним, затем удалите атрибут после того, как форма завершит обработку. Насколько я могу судить, это работает во всех браузерах.
<input type="submit" value="This week" style="font-size:18px;" id="pastPosts" class="formbtn" onclick="$('#postForm').attr('name', 'past');" />