如何在单一形式中获得两个普通按钮的值?

时间:2014-02-04 07:29:55

标签: php jquery html

我有一个表单,其中我有两个输入按钮,一个用于多个删除,另一个用于多个暂停项目。像这样 -

<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。我无法确定单击了哪个按钮,因为我没有获得按钮值。这就是为什么它不工作,如果我将这些按钮改为提交按钮,它的工作非常好,但没有要求确认事件。我该怎么办呢。有没有人有任何解决方案,请帮助我。感谢

2 个答案:

答案 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()!确认()。