美好的一天。我有以下代码:
$(document).on('submit','#formEdit',function(e){
if(<?=$id_rol?> != $("#select_privilegios").val()){
<?php if($id_usuario_actual == $userID):?>
e.preventDefault();
$('#warningEditarRol').modal();
$('#warningEditarRol').modal('open');
if($("#warningEditarRol .statusBtn").on("click",function(){
//here resume the execution of the submit event
}));
<?php endif;?>
}
});
此代码的作用是,如果满足某些条件,它将使用两个按钮打开modal window
(#warningEditarRol
),一个按钮取消,另一个按钮继续(.statusBtn
) 。我想做的是,当我选择“继续”按钮时,我恢复了执行提交事件,并发送了表单,但是我真的不知道如何去做,如果有人可以指导我,我会非常感谢。
答案 0 :(得分:1)
据我所知,preventDefault()
之后您无法恢复活动。
但是您不必:
// direct submit is prohibited by default
var doSubmit = false;
$(document).on('submit','#formEdit',function(e){
if(<?=$id_rol?> != $("#select_privilegios").val()){
<?php if($id_usuario_actual == $userID):?>
if (doSubmit) {
// this submit will pass but next one will be promted for
doSubmit = false;
} else {
e.preventDefault();
$('#warningEditarRol').modal();
$('#warningEditarRol').modal('open');
if($("#warningEditarRol .statusBtn").on("click",function(){
// unlock submit and resubmit
doSubmit = true;
$('#formEdit').submit();
}));
}
<?php endif;?>
}
});
答案 1 :(得分:0)
一种替代方法是使用AJAX并将POST数据发送到PHP文件。
$(document).on('submit','#formEdit',function(e){
if(<?=$id_rol?> != $("#select_privilegios").val()){
<?php if($id_usuario_actual == $userID):?>
e.preventDefault();
$('#warningEditarRol').modal();
$('#warningEditarRol').modal('open');
if($("#warningEditarRol .statusBtn").on("click",function(){
//here resume the execution of the submit event using AJAX
$.post(/*1st Argument:URL or PHP file you want to send data to,2nd
Argument:Data that you may send,
3rd Argument:Callback function to call upon successful submission of data*/);
}));
<?php endif;?>
}
});
此方法有点复杂,但是AJAX可以提供许多有用的功能。您可以在线搜索它,但是在这里为我提供有关它的更多信息将成为话题。