web-dev-qa-db-ja.com

入力type = "file"の値を取得できませんか?

私は<input type="file" id="uploadPicture" value="123">を持っています

私が使用している場合:alert($("#uploadPicture").val());

空のダイアログを警告します。

52
Danpe

読むことはできますが、setすることはできません。 value="123"は無視されるため、クリックしてファイルを選択するまで値はありません。

その場合でも、ユーザーのファイルシステムの詳細をプライベートに保つために、値はc:\fakepath\のようなものでマングルされます。

43
Quentin

@BozidarS: FileAPI は最近非常によくサポートされており、多くの便利なオプションを提供しています。

var file = document.forms['formName']['inputName'].files[0];
//file.name == "photo.png"
//file.type == "image/png"
//file.size == 300821
53

Document.getElementById();を使用して取得できます。

var fileVal=document.getElementById("some Id");
alert(fileVal.value);

fileの値を提供しますが、次のようにfakepathで提供します

c:\fakepath\filename
8
Naresh.P
$('input[type=file]').val()

選択したファイルが取得されます。

ただし、自分で値を設定することはできません。

5
Jack Marchetti

value="123"で行ったように、マークアップでvalue入力のfileを設定することはできません。

この例は、実際に機能することを示しています。 http://jsfiddle.net/marcosfromero/7bUba/

4
marcosfromero

古い質問ですが、誰かがこのトレッドにぶつかった場合に備えて...

var input = document.getElementById("your_input");
var file = input.value.split("\\");
var fileName = file[file.length-1];

正規表現、jQueryは必要ありません...

2

file input value = "123"でこれを指定しないでください。

  $(document).ready(function(){  

      var img = $('#uploadPicture').val();

  });
0
Md Shahriar