无法在ie中设置属性

时间:2012-07-16 20:43:35

标签: javascript html internet-explorer

我无法在IE中为脚本添加onsubmit属性。它在Chrome中运行良好。

document.getElementsByName('form_name').item(0).setAttribute("onsubmit","add_to_form()");

它正在抓取元素,我可以使用getAttribute打印出预先存在的属性。

2 个答案:

答案 0 :(得分:2)

让我们改写一下:

function listen(event, elem, func) { // cross-browser event listener
  if (elem.addEventListener) elem.addEventListener(event, func, false);
  else if (elem.attachEvent) elem.attachEvent('on' + event, func); // IE
}

listen('load', window, function() {
  var form = document.getElementsByName('form_name')[0];
  listen('submit', form, add_to_form);
});

答案 1 :(得分:2)

您的文档可能会将IE置于Quirks模式,因为在标准模式下,代码似乎运行正常。

要使代码在Quirks模式下工作,您可以分配DOM属性onsubmit而不是HTML属性。在旧版本和IE的Quirks模式中,这两者不一定相互对应。在您的示例中,请改用:

document.getElementsByName('form_name').item(0).onsubmit = add_to_form;