sabari
sabari

Reputation: 502

onchange with alert not working in ie

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')");

Upvotes: 4

Views: 16670

Answers (5)

Gurmeet Khalsa
Gurmeet Khalsa

Reputation: 136

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

Upvotes: 0

Fenton
Fenton

Reputation: 250932

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 );
}

Upvotes: 1

Muthu Kumaran
Muthu Kumaran

Reputation: 17910

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/

Upvotes: 3

Akhil Sekharan
Akhil Sekharan

Reputation: 12683

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.

Upvotes: 0

MaxArt
MaxArt

Reputation: 22617

Try with this:

choicefile.onchange = function() {alert("test");};

Upvotes: 0

Related Questions