onchange with alert not working in ie

2019-07-06 13:42发布

javascript based tag ( type ='file' ) created

and add one attribute in that tag

that attribute name onchange, i will assign alert

But alert is not come when choice the new file in internet explore.

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

5条回答
对你真心纯属浪费
2楼-- · 2019-07-06 14:06

Try with this:

choicefile.onchange = function() {alert("test");};
查看更多
我只想做你的唯一
3楼-- · 2019-07-06 14:15

try onclick="javascript:alert('test');" instead of onchange. Old ie versions and compatibility modes don't support onchange very well.

查看更多
一夜七次
4楼-- · 2019-07-06 14:22

Your code seems correct. Something particular with IE is, if you put higher security level, you need to allow scripts and activeX content when you load the website.

查看更多
孤傲高冷的网名
5楼-- · 2019-07-06 14:25

You can do two ways,

1.. Using HTML, add onchange event inline

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

Demo: http://jsfiddle.net/CS3xJ/1/

2.. Using JS,

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

Demo: http://jsfiddle.net/CS3xJ/2/

查看更多
地球回转人心会变
6楼-- · 2019-07-06 14:32

There is actually a difference between setAttribute and attachEvent. Here is an example using attachEvent (for IE) and addEventListener (standards) to add the event.

Also, not that the event handler is a function, rather than a string:

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

if (choicefile.addEventListener) {
  choicefile.addEventListener('change', eventHandler , false);
} else if (choicefile.attachEvent)  {
  choicefile.attachEvent('onchange', eventHandler );
}
查看更多
登录 后发表回答