var input = $(document.createElement('input'));
input.attr("type", "file");
input.attr("id", "files");
input.attr("name", "files[]");
input.trigger('click');
alert(input.attr("value"));
上面的脚本打开文件浏览器窗口,我也可以选择该文件,但是在看到未定义的警报中,如何在警报中获取实际文件名。
答案 0 :(得分:5)
请使用:
var input = $("<input />");
并将警报与change
事件绑定。
<强>段强>
$(function () {
var input = $("<input />");
input.attr("type", "file");
input.attr("id", "files");
input.attr("name", "files[]");
input.trigger('click');
$("body").append(input);
input.change(function () {
alert($(this).val());
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:0)
需要使用
change
侦听器从input type='file'
获取值。在您的示例中,元素中没有属性value
,因此它返回undefined
。您可以自由使用
$("<input />")
或$(document.createElement('input'));
,但如果您正在使用jQuery方式,那么请选择前者。
试试这个:
var input = $("<input />");
input.attr("type", "file");
input.attr("id", "files");
input.attr("name", "files[]");
$('body').append(input);
input.on('change', function() {
alert(this.value);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
答案 2 :(得分:0)
嗨,您可以使用
var input = document.createElement('input');
&#13;
或
var input = $("<input />");
&#13;
您的语法错误代码
请参考如何添加元素