3

已创建基于 javascript 的标记 ( type ='file')

并在该标签中添加一个属性

该属性名称onchange,我将分配警报

但是在 Internet Explorer 中选择新文件时不会出现警报。

choicefile.setAttribute("onChange", "alert('test')");
4

5 回答 5

1

你可以做两种方式,

1..使用HTML,onchange内联添加事件

<input type="file" id="file_select" name="file_select" value="" onchange="alert('File selected')" />

演示:http: //jsfiddle.net/CS3xJ/1/

2..使用JS,

  choicefile.onchange = function(){
     alert('File selected')
  }

演示:http: //jsfiddle.net/CS3xJ/2/

于 2012-12-04T11:33:01.843 回答
0

试试这个:

choicefile.onchange = function() {alert("test");};
于 2012-12-04T11:27:41.973 回答
0

您的代码似乎正确。IE 的特殊之处在于,如果您设置更高的安全级别,则在加载网站时需要允许脚本和 activeX内容。

于 2012-12-04T11:31:12.377 回答
0

和之间其实是有区别setAttributeattachEvent。这是一个使用attachEvent(for IE) 和addEventListener(standards) 添加事件的示例。

此外,事件处理程序并不是一个函数,而是一个字符串:

var eventHandler = function () {
    alert("Test");
}

if (choicefile.addEventListener) {
  choicefile.addEventListener('change', eventHandler , false);
} else if (choicefile.attachEvent)  {
  choicefile.attachEvent('onchange', eventHandler );
}
于 2012-12-04T11:32:48.273 回答
0

试试 onclick="javascript:alert('test');" 而不是onchange。旧的ie 版本和兼容模式对onchange 的支持不是很好。

于 2015-05-04T21:53:37.013 回答