使用不带 <form> 标签的 Jquery-fileupload 插件?

Using Jquery-fileupload plugin without the <form> tag?

我正在尝试集成 Jquery File Upload plugin in my aspx page (asp.net website). I followed the guide, including all required scripts and stylesheets, but in the index.html 它使用 form 标签来初始化插件,并且标签还指定了 actionmethod 属性。由于我使用的是 asp.net,所以我不允许插入 form 标签,因为 asp.net 用另一个 form 标签包裹了整个网站,并且不允许插入里面还有另一个 form 标签。

如何以不同的方式初始化插件?

实际上,您不必拥有表格即可使用 jQuery 文件上传插件。因为插件在后台使用 jQuery ajax。在您的页面中使用以下代码,请记住您必须在服务器端编写 API。

$(function () {
    'use strict';
    // Change this to the location of your server-side upload handler:
    var url = 'your server api or handler';
    $('#fileupload').fileupload({
        url: url,
        dataType: 'json',
        done: function (e, data) {
            $.each(data.result.files, function (index, file) {
                $('<p/>').text(file.name).appendTo('#files');
            });
        },
        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .progress-bar').css(
                'width',
                progress + '%'
            );
        }
    }).prop('disabled', !$.support.fileInput)
        .parent().addClass($.support.fileInput ? undefined : 'disabled');
});

和你的html如下:

<span class="btn btn-success fileinput-button">
        <i class="glyphicon glyphicon-plus"></i>
        <span>Select files...</span>
        <!-- The file input field used as target for the file upload widget -->
        <input id="fileupload" type="file" name="files[]" multiple>
    </span>
    <br>
    <br>
    <!-- The global progress bar -->
    <div id="progress" class="progress">
        <div class="progress-bar progress-bar-success"></div>
    </div>
    <!-- The container for the uploaded files -->
    <div id="files" class="files"></div>