скажите, а при использовании события onsubmit определить по нажатию какой из кнопок это произошло, возможно?
|
еще раз перечитал, нашел только способ, если обработчик вешать на click самих кнопок, но не на submit формы.
|
winch,
document.forms[0].onsubmit = function(event) { alert(event.target.tagName);//form } не получишь ты так кнопку... вешай на клик кнопки... в чем проблема? |
дык вот в том то и дело, что не посылаются значения кнопки на сервер (вернее на берутся функцией serialize), если обработчик навешан на submit формы. а я именно об этом спрашивал.
|
Немного объясню зачем мне надо вешать обработчик именно на submit.
В современной web разработке очень часто возникает необходимость отправлять формы аяксом. поэтому, чтобы не писать один тот-же код на разных страницах, я решил сделать универсальную функцию: function FormSubmitAjax(sel1, success, sel2){ $(sel1).on('submit', sel2, function(ev){ ev.preventDefault(); var form = $(ev.target); $.ajax({ type: form.context.method, url: form.context.action, data: form.serialize(), context: { form: form}, success: function(dat, status){ success.apply(this, [dat, status]); }, }); }); } однако при практическом использовании выяснилось что <input type="submit" name="test"/> не посылается, вот ищу способ, как это исправить. |
Метод serialize() не возвращает поля отправки файлов и кнопки отправки формы, но ни ко не запрещает form.serialize() + "&" + и добавить кнопку. Зачем она только нужна не понятно.
|
Цитата:
|
Rise
ага! основная идея в том, чтобы перед отправкой найти нажатую кнопку селектором ':submit:focus' спасибо! воспользуюсь. |
Часовой пояс GMT +3, время: 01:38. |