【问题标题】: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


【解决方案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/

【讨论】:

    【解决方案2】:

    试试这个:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        setAttributeattachEvent 之间实际上是有区别的。下面是使用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的支持不是很好。

        【讨论】:

          猜你喜欢
          • 2016-10-31
          • 1970-01-01
          • 1970-01-01
          • 2018-11-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-13
          相关资源
          最近更新 更多