3

JavaScript ベースのタグ ( type ='file') が作成されました

そのタグに1つの属性を追加します

その属性名onchange、アラートを割り当てます

ただし、Internet Explorer で新しいファイルを選択してもアラートは表示されません。

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

5 に答える 5

1

あなたは2つの方法を行うことができます、

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 特有の点として、セキュリティ レベルを高くすると、Web サイトを読み込むときにスクリプトと ActiveX コンテンツを許可する必要があります。

于 2012-12-04T11:31:12.377 に答える
0

と の間には実際には違いが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 );
}
于 2012-12-04T11:32:48.273 に答える
0

onclick="javascript:alert('test');" を試してください onchange の代わりに。古い ie バージョンと互換モードは、onchange をうまくサポートしていません。

于 2015-05-04T21:53:37.013 に答える