ファイル入力のクリア方法

以下は、私が持っているjqueryのコードの一部で、ファイルの入力と、quot;Clear File"ボタンを表示します。

var $imagefile = $('<input />').attr({
    type: 'file',
    name: 'imageFile',
    class: 'imageFile'
});

$image.append($imagefile);

var $imageclear = $('<input />').attr({
    type: 'button',
    name: 'imageClear',
    class: 'imageClear',
    value: 'Clear File'
});

$image.append($imageclear);

このボタンをクリックすると、入力されたファイルがすべて消去されます。どのようにすれば、"Clear File"ボタンをクリックしたときに、実際にファイル入力がクリアされるようにコーディングできますか?

ソリューション

これなら大丈夫でしょう。

$imageClear.on('click', function() { 
    $imageFile.val(''); 
});
解説 (5)

私もこの方法を使っていますが、イベントを新しいオブジェクトに添付したままにするためには、cloneメソッドにbool trueパラメータを追加する必要があると思いますし、コンテンツをクリアする必要もあります。

    var input = $("#fileInput");

    function clearInput() {
        input = input.val('').clone(true);
    };

https://api.jquery.com/clone/

解説 (0)

に動作します。

 $("#yourINPUTfile").val("");
解説 (0)