因此,基本上,我正在使用模态内的表单创建一个网站。在该表单将数据提交到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按钮时,它什么也没做。就像没有被按下一样。
如果有人能帮助我,我将非常感激。