我有一个隐藏的输入[type = file]和一个单独的按钮,触发点击这个隐藏的输入 . 如何检测此隐藏输入中的值更改,即用户何时选择了文件?
<form id="photo_upload_form" method="POST" enctype="multipart/form-data">
<button >Upload a Photo</button>
<input name="file" type="file" hidden />
</form>
使用Javascript:
$('#photo_upload_form button').click(function(){
$('input[type="file"]').trigger('click');
});
$('input[type="file"]').change(function(){
alert('Change !');
});
编辑:我的按钮单击提交表单,所以我不得不使用preventDefault!
2 回答
使用onchange for
input[type=“file”]
这是演示http://jsfiddle.net/qs4y0rLe/
作为你的代码,改变如下
关于jquery
.on()
,将一个或多个事件的事件处理函数附加到所选元素 . 更多 - > http://api.jquery.com/on/http://jsfiddle.net/qs4y0rLe/1/
它仍然会在输入[type = file]上触发更改事件,就像