我有一个表单,其中我有两个输入按钮,一个用于多个删除,另一个用于多个暂停项目。像这样 -
<form>
<input type="checkbox" name="check_item[]" value="<?php echo $users['user_id']; ?>" />
<input type="button" id="suspendall" name="suspendall" value="Suspend" />
<input type="button" id="deleteall" name="deleteall" value="Delete" /></td>
</form>
当我点击删除或暂停时,请求jquery确认该事件,如 -
$('#deleteall').click(function() {
if(confirm('Really Want To Delete This?')){
$('#listing').submit();
}
});
如果确认取消表单未提交且确认确认表单已提交,则在提交时我必须从db中删除或暂停该项目。我已为此编写此代码 -
if(isset($_POST['deleteall'])){
$check_array = $_POST['check_item'];
$usersId = implode($check_array,',');
$db->deleteUser($usersId);
}
if(!empty($_POST['suspend'])){
$check_array = $_POST['check_item'];
$usersId = implode($check_array,',');
$db->suspendUser($usersId);
}
我面临的问题是,当表单被提交时我只得到一组复选框的ID。我无法确定单击了哪个按钮,因为我没有获得按钮值。这就是为什么它不工作,如果我将这些按钮改为提交按钮,它的工作非常好,但没有要求确认事件。我该怎么办呢。有没有人有任何解决方案,请帮助我。感谢
答案 0 :(得分:0)
在你的HTML表单中有一个隐藏的表单字段。
在JS事件中,在提交
之前设置隐藏字段的值$('#deleteall').click(function() {
if(confirm('Really Want To Delete This?'))
{
$("#hiddenFormId").val("deleteAll");
$('#listing').submit();
}
});
然后在PHP中使用这种类型的代码(抱歉不是PHP程序员)
if $_POST['hiddenFormId'] == 'deleteAll'
答案 1 :(得分:0)
使用jQuery()。submit()提交时,单击的按钮将丢失。 您可以尝试不在单击处理程序中提交()表单,而是在调用时调用evt.preventDefault()!确认()。