我有一个网页,我想提示用户上传文件,但我不想显示该<input type="file"/>元素.
我有一个按钮触发文件对话框显示,但代码不等待对话返回.
当文件对话框返回时,是否有一个我可以挂钩的事件?还有其他一些我没想过的事吗?
这就是我目前所拥有的,它使用警报来阻止代码.我想要一些不那么hacky的东西.
function importValues(e)
{
var f = document.getElementById('file');
f.click();
alert('loading'); //hack to make the code wait for the user to choose a file before making the ajax call
var formdata = new FormData(jQuery('#frmImport')[0]);
jQuery.ajax({
url: 'importFile',
type: 'POST',
data: formdata,
chache: false,
contentType: false,
processData: false,
});
}
Run Code Online (Sandbox Code Playgroud)
我认为你需要重构代码并处理本机文件上传事件.
如果你有一些像文件对话框的元素
<input type="file" name="file" id="file" />
Run Code Online (Sandbox Code Playgroud)
然后你可以联系它的事件,特别是onchange
$(function(){
$("#file").change(function(e){ alert('selected') });
});?
Run Code Online (Sandbox Code Playgroud)