0

ユーザーがファイルを選択したときに、アップロードされたファイルのパスを取得したい。変更を使用してみましたが、すべてのブラウザーで正常に動作していますが、Internet Explorer では動作しません。これを行う方法はありますか?

<input type="file">

$(document).on('click',':file',function(){
    alert($(this).val());

});

フィドルhttp://jsfiddle.net/j9ran/

4

1 に答える 1

0

substringJavaScriptを使用して、次のようlastIndexOfにフル パスからファイル名を抽出できます。c:\fakepath\xyz.jpg

html

<form>
  <input id ="input" type="file" />
  <input  id="smt" type="submit" />
</form>

脚本

$('#smt').click(function(e)
{
 e.preventDefault();

 var filename=$('#input').val().substring($('#input').val().lastIndexOf('\\') + 1)

 alert(filename)

});

デモはこちら

ユーザーが任意のファイルを選択したときにファイル名を取得するには、コメントの要件に従って編集します

html

<input id="input" type="file" />
<p></p>

脚本

var filename;

var t;

$('#input').click(function (e) {

    $('#input').val(""); //to clear previous file name ,if any

    clearInterval(t); //if any previous interval is running 

    t = setInterval(function () {

        if ($('#input').val().length > 0) {

            filename = $('#input').val().substring($('#input').val().lastIndexOf('\\') + 1);

            clearInterval(t);

            $('p').text("");

            $('p').text("you have chosen " + filename);
        }

        else if ($('#input').val().length == 0) {

            $('p').text("");

            $('p').text("haven't chosen any file");
        }

    }, 500)


})

デモ

于 2013-11-13T13:58:42.007 に答える