我在获取脚本以将 onsubmit 属性添加到 IE 中的表单时遇到问题。不过它在 Chrome 中运行良好。
document.getElementsByName('form_name').item(0).setAttribute("onsubmit","add_to_form()");
它很好地抓住了元素,我可以很好getAttribute
地打印出预先存在的属性。
我在获取脚本以将 onsubmit 属性添加到 IE 中的表单时遇到问题。不过它在 Chrome 中运行良好。
document.getElementsByName('form_name').item(0).setAttribute("onsubmit","add_to_form()");
它很好地抓住了元素,我可以很好getAttribute
地打印出预先存在的属性。
让我们重写一下:
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);
});
您的文档可能将 IE 置于 Quirks 模式,因为在标准模式下,代码似乎可以正常工作。
要使代码也可以在 Quirks 模式下工作,您可以分配给 DOM 属性onsubmit
而不是 HTML 属性。这两者在旧版本和 IE 的 Quirks Mode 中不一定相互对应。在您的示例中,请改用:
document.getElementsByName('form_name').item(0).onsubmit = add_to_form;