多次单击#input将每次都上传文件。

单击#button会依次触发#input仅在第一次时上传文件(如果第一次单击#input则根本不上传)。但是,我将打开文件选择器浏览器,只是不上传文件。

为什么会这样,如何更改它以允许多次单击?

PS。为什么我希望这样做而不只是使用#input?我正在使用jQueryUI对话框,并希望其中一个按钮可以启动输入。

<!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>

最佳答案

据我认为,应该首先改变变量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');
             });
        });

07-24 18:46
查看更多