3

この単純な JavaScript コードを書きました。

$("input[type='file']").attr("value", "");

Firefox と Chrome では動作しますが、IE では動作しません (IE9 で試しました)。

入力型ファイルの値を空にする良い方法は何ですか?

ありがとうございました

4

2 に答える 2

10

入力タイプ=ファイルにはいくつかの制限があります

ここで読むことができます

これはIE8、IE9で動作しているようです

$("input[type='file']").replaceWith($("input[type='file']").clone(true));

IE8でテストするために、開発者ツールの互換モードをIE8に変更しました

編集:

多くのIEハックに関しては、これがより良いと思います

    if($.browser.msie){
        $("input[type='file']").replaceWith($("input[type='file']").clone(true));
    } else {
        $("input[type='file']").val('');
    }
于 2012-04-26T06:17:19.803 に答える
1

jQueryのドキュメントには次のように書かれています

jQuery 1.6 以降、.attr() メソッドは、設定されていない属性に対して undefined を返します。さらに、.attr() は、プレーン オブジェクト、配列、ウィンドウ、またはドキュメントでは使用しないでください。DOM プロパティを取得および変更するには、.prop() メソッドを使用します。

.prop()を使用する

于 2012-04-26T05:51:03.350 に答える