无法获得inputtypes=“文件”的值?
我有一个<input type="file" id="uploadPicture" value="123">
当我使用: alert($("#uploadPicture").val());
它提醒一个空的对话框。
你可以阅读,但你不能设置它。 value="123"
将被忽略,所以它不会有一个值,直到你点击它并select一个文件。
即使这样,这个值也可能会像c:\fakepath\
那样被破坏,以保持用户文件系统的私密性。
@BozidarS:现在FileAPI得到了很好的支持,并提供了许多有用的选项。
var file = document.forms['formName']['inputName'].files[0]; //file.name == "photo.png" //file.type == "image/png" //file.size == 300821
你可以通过使用document.getElementById();
var fileVal=document.getElementById("some Id"); alert(fileVal.value);
会给出文件的值,但是如下给出了假path
c:\fakepath\filename
$('input[type=file]').val()
这会让你select的文件。
但是,您无法自行设置值。
您不能在标记中设置file
input的value
,就像您使用value="123"
所做的那样。
这个例子显示它确实有效: http : //jsfiddle.net/marcosfromero/7bUba/
这是一个老问题,但如果有人碰到这个问题…
var input = document.getElementById("your_input"); var file = input.value.split("\\"); var fileName = file[file.length-1];
不需要正则expression式,jQuery ….
删除值=“123”的事情会很好看。 然后尝试:
$("file_selector").val();
仍然是一个问题。 你将得到一个c:\ fakepath \ yourfile.extension。