大家早上好。 我在使用甜蜜警报向用户显示提示时遇到问题(这有点无关紧要)
简化的网页
<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;
}
但是,我无法使用这两个提交按钮执行相同的提示。 那里有什么问题:
- 它必须是提交按钮,否则 PHP 将无法识别哪个 按钮用于提交
- 当我单击提交按钮表单在"读取"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;
});