基本插件不显示所选文件路径/现有按钮单击提交

时间:2015-01-15 17:09:03

标签: javascript jquery file-upload jquery-file-upload blueimp

我正在尝试使用基于https://github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin上的代码的blueimp jquery-file-upload将进度条添加到现有表单。一切似乎都运行正常,但在选择文件后,“无文件选择”显示为文件路径。如果我重新加载页面,则会显示先前的文件路径。

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="utf-8">
        <title>jQuery File Upload Example</title>
        <style type="text/css">
            .bar {
                height: 18px;
                background: green;
            }
        </style>
    </head>
    <body>
        <input id="fileupload" type="file" name="file" data-url="server/php/">
        <input id="comment" type="text" name="comment">
        <div id="progress">
            <div class="bar" style="width: 0%;"></div>
        </div>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script src="js/blueimp-file-upload/js/vendor/jquery.ui.widget.js"></script>
        <script src="js/blueimp-file-upload/js/jquery.iframe-transport.js"></script>
        <script src="js/blueimp-file-upload/js/jquery.fileupload.js"></script>
        <script>
            $(function () {
                $('#fileupload').fileupload({
                    dataType: 'json',
                    add: function (e, data) {
                        data.context = $('<button/>').text('Upload')
                                .appendTo(document.body)
                                .click(function () {
                                    data.context = $('<p/>').text('Uploading...').replaceAll($(this));
                                    data.submit();
                                });
                    },
                    progressall: function (e, data) {
                        var progress = parseInt(data.loaded / data.total * 100, 10);
                        $('#progress .bar').css('width', progress + '%');
                    }
                });
                $('#fileupload').bind('fileuploadsubmit', function (e, data) {
                    var input = $('#comment');
                    data.formData = {comment: input.val()};
                });
            });
        </script>
    </body> 
</html>

a)如何在选择一个后显示正确的文件路径?

b)目前,代码动态生成上传按钮,如文档中所述。我怎样才能使用现有的呢?

1 个答案:

答案 0 :(得分:0)

请将以下论点传递给您:

replaceFileInput:假

file_upload = elem.fileupload({             FORMDATA:{还有:1},             autoUpload:false,             url:“uploader.php”,             replaceFileInput:假的,             fileInput:$(“input:file”),         });