jQuery AJAX不向PHP发送多个提交按钮 - php

所以我的问题是,当我将表单提交到PHP时,使用jQuery通过AJAX提交表单时,使用jQuery AJAX时哪个按钮提交表单并不重要,但是当使用表单操作时,表单会提交并让我知道删除还是删除按下了更新按钮。例如,这是提交表单的HTML

<input type="submit" name="update" value="Update">
<input type="submit" name="delete" value="Delete">

这是下面的AJAX调用。

$(document).ready(function() {
    $("#update-form").submit(function () {
    $.ajax({  
      type: "POST",
      url: "updateHandler.php",  
      data: $("#update-form").serialize(),
      success: function(data) {
            var login = JSON.parse(data);
            if (login.success) {
                alert(login.message); //Show the ticket was updated!
            } else {
                alert(login.message);
            }
      }
    });  
    return false;       
  });
});

现在这是我的AJAX调用的PHP代码。

<?php
    $json_data = array();
    if(isset($_POST['delete'])) {
        $json_data['message'] = 'Ticket was deleted!';
    } else {
        $json_data['message'] = 'Ticket was updated!';
    }


// Encode response as JSON
echo (json_encode($json_data));

?>

编辑

在被问到控制台输出之后,这就是我得到的

如果来自adeneo答案的代码,则“未按下按钮”

{“成功”:true,“消息”:“未按任何按钮”}

数组

[票数] => 6
[技术人员] => 1
[类别] => 1
[电子邮件] => [email protected]
[名称] =>内德·斯塔克
[国家] =>加拿大
[issue] =>我遇到产品Y的问题

参考方案

发生的事情是按钮未与表单序列化,因为在以编程方式提交for时,它不知道您按下了什么按钮,因此它不会发送。因此,我所做的就是放置一个隐藏的输入,并根据他们单击提交表单的按钮来更改其值。

另请注意,我默认选择要更新的值。我这样做是为了让用户使用键盘上的Enter键提交表单,它将自动执行操作并且不会出错。

的HTML

<input type="hidden" name="choice" id="choice" value="update">
<input type="submit" name="update" value="Update">
<input type="submit" name="delete" value="Delete">

jQuery的

$('input[type="submit"]').click(function() {
     $('#choice').val(this.name)
});

的PHP

if(isset($_POST['choice']) && $_POST['choice'] == "update") {
    //if user clicked update
} else if(isset($_POST['choice']) && $_POST['choice'] == "delete") {
    //user clicked delete.
}

jQuery Ajax加载仅适用于单个单词变量 - php

在我的PHP文件中,我将一些变量从输入框传递到链接中,该链接通过jQuery的ajax load函数在其URL中使用该变量加载页面。整个系统运行良好,但仅适用于单字变量。每当涉及到空格时,我的Ajax通话都会中断。我假设这是一个编码问题,但是我也有一些疑问。基本上,它归结为我的PHP文件中的这一行代码,这导致了混乱。是否有可能找出格式是否正确,或者为什么在多…

jQuery-找不到Ajax网址 - php

好的,我敢肯定这确实很容易,而且我很愚蠢,但是似乎并不能深入了解它。我试图从我的js文件“ custom.js”中对“ helpers.php”中的某些代码进行简单的AJAX调用。但是,我仍然收到404错误,因为我似乎并没有正确遍历文件夹,尽管我确信我正在...我的文件夹结构如下:html index.php js/ custom.js includes h…

使用jQuery将值增加到attr - php

我想增加i的值。 “ for”循环不起作用。$("a[href$='.xls']").appendTo(".xl1").attr('id','xl'+i); 我搜索所有excel文件,并将它们放在容器中并增加其id的值。谢谢吉恩 参考方案 $("a[…

获取PHP中的cookie值? - php

我在jQuery中创建cookie。我可以在Firefox中进行验证。但是,当我尝试打印cookie或将其分配给另一个值时,我无法获取它。我也使用会话。然后,我用PHP开始了会议。我的打印或分配cookie值的代码如下所示echo $_COOKIE['a']; 用于分配值$b=$_COOKIE['a']; 使用jQue…

使用jQuery加载页面但不加载到容器div中 - php

我从一个下拉菜单中选择文件类型,然后我希望它在页面上触发,该页面根据选择的内容生成文件,并使用php中的header强制下载该文件。这是jQuery。$('#exportdropdown').change(function(){ var searchinput = $('#searchinput').val(); va…