jQuery在提交表单之前提示,PHP区分使用了哪个按钮



大家早上好。 我在使用甜蜜警报向用户显示提示时遇到问题(这有点无关紧要)

简化的网页

<form class="form-horizontal" method="post" action="post.php?id=<?php echo $wid; ?>"> 
<button type="submit"  name="submit1" class="btn btn-success">Submit #1</button>
<button type="submit" name="submit2" class="btn btn-warning">Submit #2</button>
<button type="button" class="btn btn-danger "onclick="remove()">REMOVE()</button>
</form>

该表单提交到的 PHP。我必须区分使用如此简化的按钮:

if(isset($_POST['submit1'])){
//do stuff
} elseif(isset($_POST['submit2'])) {
//do second stuff
}

最后是显示提示的 JS 代码:

function remove() {
var id = <?php echo $wid ?>;
swal({
title: "Sure?",
type: "warning",
}).then(function() {
swal({
title: "Removed!",
});
removeRow();
});
return false;
}
function removeRow() {
var id = <?php echo $wid ?>;
window.location = 'delete.php?&id=' + id;
}

但是,我无法使用这两个提交按钮执行相同的提示。 那里有什么问题:

  1. 它必须是提交按钮,否则 PHP 将无法识别哪个 按钮用于提交
  2. 当我单击提交按钮表单在"读取"javascript 代码之前自动提交(什么是逻辑),但即使我停止事件然后尝试使用 jQuery 进行 .submit(),它也不会成功,因为我无法从按钮级别提交表单,因此表单不会传递用于提交的按钮的名称 - 不起作用

我如何显示用户提示并保留提交,直到用户接受警告,但能够区分哪个按钮用于提交它(因此 php get 提交的按钮名称)?

我将PHP编辑成两个单独的文件。 之后,我在单击两个按钮时添加了两个侦听器。我删除了它们的提交类型,然后添加了jQuery代码:

$( "#submit1" ).click(function() {
var id = <?php echo $wid ?>;
swal({
title: "Sure?",
type: "warning",
}).then(function() {
swal({
title: "Success!",
});
$('#formW').attr('action', 'script.php?id='+id);
$('#formW').submit();
});
return false;
});

最新更新