【问题标题】:onchange with alert not working in ie带有警报的 onchange 在 ie 中不起作用
【发布时间】:2012-12-04 11:25:42
【问题描述】:
已创建基于 JavaScript 的标签 (type ='file')
并在该标签中添加一个属性
那个属性名onchange,我会分配警报
但在 Internet Explorer 中选择新文件时不会出现警报。
choicefile.setAttribute("onChange", "alert('test')");
【问题讨论】:
标签:
javascript
file
internet-explorer
tags
onchange
【解决方案2】:
试试这个:
choicefile.onchange = function() {alert("test");};
【解决方案3】:
您的代码似乎正确。 IE 的特殊之处在于,如果您设置更高的安全级别,则需要在加载网站时允许脚本和 activeX 内容。
【解决方案4】:
setAttribute 和 attachEvent 之间实际上是有区别的。下面是使用attachEvent(IE)和addEventListener(标准)添加事件的示例。
另外,事件处理程序并不是一个函数,而是一个字符串:
var eventHandler = function () {
alert("Test");
}
if (choicefile.addEventListener) {
choicefile.addEventListener('change', eventHandler , false);
} else if (choicefile.attachEvent) {
choicefile.attachEvent('onchange', eventHandler );
}
【解决方案5】:
试试
onclick="javascript:alert('test');"
而不是onchange。
旧的ie版本和兼容模式对onchange的支持不是很好。