【问题标题】:Reading and changing form' action using JQuery in IE8在 IE8 中使用 JQuery 读取和更改表单的操作
【发布时间】:2012-08-21 11:10:59
【问题描述】:

我有一个JQuery代码如下,

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

我的问题是$(event.target).closest("form").attr("action") 没有读取 IE (IE8) 上的 action 属性,尽管它在其他浏览器(即 Chrome 和 FF)上也能完美运行。而且我没有任何名为“action”或“submit”的标签。所以这个问题不能由此产生。有人能帮我一下吗 ?

【问题讨论】:

  • 你测试过$(event.target).closest("form")在IE8中返回的格式是否正确吗?

标签: javascript jquery html internet-explorer javascript-events


【解决方案1】:

尝试将此检查添加到您的代码中:

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

我不确定 IE8 是否支持 event.target

希望这会有所帮助!

【讨论】:

  • 谢谢 :)。有用。似乎我必须更改代码中的每个“event.target”。 :-/
  • 这可以简化为$(event.target || event.srcElement)
  • 啊!那太棒了。 :) 不知道。
  • 是的,很好的补充 pimvb!谢谢!
【解决方案2】:

试试这个代码。这可能会有所帮助...

ver elem = (typeof event.target == 'undefined')?e.currentTarget? event.target;
var url = $(elem).closest("form").attr("action");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多