提交包含文件的表单后,关闭表单窗口

时间:2019-02-20 19:32:11

标签: javascript jquery html ajax

我有一个Web应用程序,在该应用程序中,我弹出了一个创建电子邮件窗口,用户可以在其中填写诸如主题,正文等电子邮件详细信息。提交表单后,我希望该窗口关闭。 我使用jquery和ajax代码使它工作:

 $('form').on('submit', function (event) {
        event.preventDefault();
        var BoldText = document.getElementById("DivDescription").innerHTML;
        SendMessageurl = '@Url.Action("CreateMail", "Communication")';
        $(".overlay").show();
        var mysave = $('#DivDescription').html();
        var des = $('#Description').text(mysave);
        var formdata = $("#form").serialize();

        $.ajax({
            url: SendMessageurl,
            type: "POST",
            data: formdata,
            success: function (result) {
                setTimeout(function () {
                    self.close();
                },2000);               
            }
        });
    });

2秒后,窗口将关闭。 现在,我想添加带有电子邮件的附件。以下代码可以做到这一点,但不会关闭窗口:

$('form').on('submit', function (event) {
    event.preventDefault();
    var BoldText = document.getElementById("DivDescription").innerHTML;
    SendMessageurl = '@Url.Action("CreateMail", "Communication")';
    $(".overlay").show();
    var mysave = $('#DivDescription').html();
    var des = $('#Description').text(mysave);
    var formdata = new FormData(this);
    var totalFiles = document.getElementById("inputUpload").files.length;
        for (var i = 0; i < totalFiles; i++) {
            var file = document.getElementById("inputUpload").files[i];
            formdata.append("inputUpload", file);
        };

    $.ajax({
        url: SendMessageurl,
        type: "POST",
        data: formdata,
        dataType: 'json',
        contentType: false,
        processData: false,
        success: function (result) {
            setTimeout(function () {
                self.close();
            },2000);               
        }
    });
});

调试后,我发现提交表单后它不会进入成功框,不知道为什么。 这是我的html代码:

     <i class="fa fa-icon-paperclip"><input type="file" class="filestyle" id="inputUpload" style="opacity:0;" multiple /></i>
<input class="contact2-form-btn" type="submit" value="Send" id="emailsubmit" style="cursor:pointer" />

请帮助!!!

谢谢。

更新: 我通过将dataType从“ json”更改为“ text”解决了此问题。谢谢

0 个答案:

没有答案