1

我正在使用 jQuery 和 PHP 发布一个长的动态创建的 HTML 表单。由于我需要一个“发送”对话框并在同一页面上显示结果(最好是在 jQuery 弹出窗口中),我不使用传统的 HTML 表单提交。除了文件输入类型不上传外,我正在做的工作很好。

有没有办法做到这一点?

这是我的代码:

jQuery:

    function submitForm(submiturl)
    {
        $.blockUI({ message: "<h2>Submitting...</h2>" }); 

        var form = $('#theForm').serialize();
        var fields = "<?= urlencode(serialize($allFields)) ?>";

        $.ajax({ 
            url: submiturl,
            data: {form: form, fields: fields, extraResults: window.extraResults},
            type: "post", 
            cache: false, 
            complete: function() { 
                // unblock when remote call returns 
                $.unblockUI(); 
            }, 
            error: function (xhr, ajaxOptions, thrownError) {
                alert("ERROR");

            },
            success: function( strData ){
                alert("SUCCESS:  " + strData);

            }

        }); 
    }
4

1 回答 1

0

在表格中提及enctype="multipart/formdata"并在您的函数中使用此代码

 var uf = //get form id;
 var fd = new FormData(uf);     
 $.ajax({
   type: "POST",
   url: "xxxxx.php",
   data: fd,
   processData:false,
   contentType: false,
   success: function(msg){ }
 });
于 2013-05-22T13:49:54.147 回答