Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   HTML5 атрибут form в IE v<= 9 (https://javascript.ru/forum/css-html-internet-explorer/38455-html5-atribut-form-v-ie-v-%3D-9-a.html)

kichSman 02.06.2013 20:10

HTML5 атрибут form в IE v<= 9
 
Как известно в 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.


Часовой пояс GMT +3, время: 14:34.