Как известно в html5 у элементов формы появился атрибут "form" переваривают его все нормальные браузеры, кроме ie v.<=9
Надо обратить внимание, что IE9 тоже не поддерживает данного свойства, для него пока написал такой хук:
var test = document.createElement('input'),
form = document.querySelector('form');//test element
//test method
form.onsubmit = function(e){
alert(1);
};
function hookSubmit(e){
var el = e.target,
fn = el.onsubmit;
el.onsubmit = function(){
fn.call(el, e);
alert(2);
/* Здесь ищу элементы вне формы с атрибутом form=el.id
* дополняю строку отправки, и отправляю запрос
*/
return false;
};
}
//Bad practice
try{
if(!test.hasOwnProperty('form')){
/* Note, capture phase */
document.addEventListener('submit', hookSubmit, true);
}
} catch (e) {
/*Тут код для IE 8*/
}
Знаю что плохая практика, но лучшего пока ничего в голову не пришло.
Пока не найден способ, как реализовать сие в ie8,
о чем здесь и прошу (к сожалению в ie<9 нет режима перехвата).
Если есть примеры костылей лучше, то буду очень признателен, или если будут советы как сделать для ie8.