После отправки формы закройте окно формы, в которое также входит файл - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть веб-приложение, в котором всплывающее окно создания электронной почты, где пользователь заполняет детали электронной почты, такие как тема, тело и т. Д. После отправки формы я хотел бы закрыть окно.Я получил его, используя код 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".БЛАГОДАРЯ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...