多次点击#input
会每次上传一个文件。
点击#button
依次触发#input
只会在第一次上传文件(如果首次点击#input
则不会上传)。但是,我会打开文件选择器浏览器,只是不上传文件。
为什么会这样,以及如何更改它以允许多次点击它?
PS。为什么我希望这样做而不只是使用#input
?我正在使用jQueryUI Dialog并希望其中一个按钮启动输入。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>My profile</title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/jquery.fileupload.js"></script>
<script type="text/javascript">
$(function(){
$('#button').click(function(){uploader.trigger('click');});
var uploader=$('#input').fileupload( {
url: 'upload.php',
formData: {user_id:50},
dataType: 'json',
}
);
});
</script>
</head>
<body>
<button id="button">Click</button>
<input id="input" type="file" name="name">
</body>
</html>
答案 0 :(得分:0)
据我所知,首次初始化变量uploader
的顺序和click
上#button
事件的注册位置应该会发生变化。
<强>更新强>
同时,每次点击uploader
时启动#button
变量都可以解决问题:
$(function(){
$('#button').click(function(){
var uploader=$('#input').fileupload( {
url: 'upload.php',
formData: {user_id:50},
dataType: 'json',
});
uploader.trigger('click');
});
});