0

У меня есть код JQuery следующим образом,Чтение и изменение формы действия»с помощью JQuery в IE8

function changeSomething(event) { 
    var url = $(event.target).closest("form").attr("action"); 
} 

Моя проблема $(event.target).closest("form").attr("action") не читает атрибут действий в IE (IE8), хотя он отлично работает в других браузерах (например, Chrome и FF). И у меня нет никаких тегов с именем «action» или «submit». Поэтому эта проблема не может быть получена из нее. Может ли кто-нибудь помочь мне здесь?

+0

Вы тестировали, если '$ (event.target) .closest (" form ")' возвращает правильную форму в IE8? – Strille

ответ

2

Попробуйте добавить эту проверку в код:

var url; 
if (typeof event.target != 'undefined'){ 
    url = $(event.target).closest("form").attr("action"); 
} 
else{ 
    url = $(event.srcElement).closest("form").attr("action"); 
} 

Я не уверен, если event.target поддерживается IE8

Надеются, что это помогает!

+0

Thanx :). Оно работает. Похоже, мне придется изменить каждый, «event.target» в моем коде. : -/ – SDK

+2

Это можно упростить до '$ (event.target || event.srcElement)'. – pimvdb

+0

Ах! Замечательно. :) Не знал этого. – SDK

0

Пробуйте этот код. Это может быть полезно ...

ver elem = (typeof event.target == 'undefined')?e.currentTarget? event.target; 
var url = $(elem).closest("form").attr("action"); 
Смежные вопросы