提交数据后,使用Javascript重置模式

时间:2018-06-22 16:11:00

标签: javascript php jquery twitter-bootstrap bootstrap-4

因此,基本上,我正在使用模态内的表单创建一个网站。在该表单将数据提交到script.php之后,script.php返回的所有内容都将附加到模态主体中,如下所示:

// Function to submit data to php
$("#formModificarArticulo").on("submit", function(e) {

    var postData = $(this).serializeArray();
    var formURL = $(this).attr("action");

    $.ajax({
        url: formURL,
        type: "POST",
        data: postData,
        success: function(data, textStatus, jqXHR) {
            $('#divModificarArticulo .modal-header .modal-title').html("Resultado");
            $('#divModificarArticulo .modal-body').html(data);
            $("#submitFormModificar").remove();
            reloadDataTable();
        },
        error: function(jqXHR, status, error) {
            console.log(status + ": " + error);
        }
    });

    e.preventDefault();
});

$("#submitFormModificar").on('click', function() {
    console.log("Submit presionado");
    $("#formModificarArticulo").submit();
});

因此,基本上,当用户使用模态内部的表单发送数据时,模态会发生变化,以显示类似于“数据已成功发送到服务器”的内容。

在将script.php的结果显示给用户并关闭用户之后,模态应该使用表单恢复到其原始状态。这就是魔术发生的功能:

// Function to reset modal
(function(){

    var template = null;

    $('#divModificarArticulo').on('show.bs.modal', function (event) {
        if (template == null) {
            template = $(this).html();
        } else {
            $(this).html(template);
        }

        $('#divModificarArticulo').modal({ show: false});
    })

})();

问题是,我可以按表单上的“提交”按钮发送数据,模态使我从服务器返回结果,而当我第二次打开模态时,表单又回到了原始状态。但是由于某种原因,当我第二次按下Submit按钮时,它什么也没做。就像没有被按下一样。

如果有人能帮助我,我将非常感激。

0 个答案:

没有答案