使用ajax向PHP发送$ _POST变量

罗伯特

我有一个带有2个提交按钮的表单:

<form id="drinksForm" action="drinksHandler.php" method="POST"> 
    <label for="drinks">Number of drinks</label> 
    <input type="number" class="form-control" name="drinks" min="1" max="30" required="required">
    <input type="submit" name="buttonDrinks" class="btn btn-success" value="Got drinks">
    <input type="submit" name="buttonDrinks" class="btn btn-danger" value="Didn't get drinks">
</form>

我使用ajax打印即时反馈消息:

$('#drinksForm').submit(function(event){
    event.preventDefault();
    var form = $('#drinksForm');
    $.ajax({
        type : 'POST',
        url : form.attr('action'),
        data : form.serialize(),
    })

    .done(function(data){
        $('#result').html(data);
    })
    .fail(function(data){
        $('#result').html(data);
    })

});

在DrinksHander.php中,我想查看按下了哪个按钮。如果我删除

event.preventDefault();

我可以看到

$_POST["buttonDrinks"]

按下哪个按钮。但是由于

event.preventDefault();
    $.ajax({
        type : 'POST',
        url : form.attr('action'),
        data : form.serialize(),
    })

它不发送按下哪个按钮。因此,如何将变量发送到DrinksHandler.php,该变量显示按下了哪个按钮。

乔治

删除按钮名称attr并在提交之前动态添加输入。还将提交功能更改为单击按钮,以便preventDefault应该起作用。像这样

$('body').on('click', '.btnSubmit', function(event){
    event.preventDefault();
    var form = $('#drinksForm');
    form.append('<input type="hidden" name="buttonDrinks" value="'+$(this).val()+'">');
    
    var formData = form.serialize();
    
    console.log(formData);

    $.ajax({
        type : 'POST',
        url : form.attr('action'),
        data : formData,
    })

    .done(function(data){
        $('#result').html(data);
    })
    .fail(function(data){
        $('#result').html(data);
    })

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="drinksForm" action="drinksHandler.php" method="POST"> 
    <label for="drinks">Number of drinks</label> 
    <input type="number" class="form-control" name="drinks" min="1" max="30" required="required">
    <input type="submit" class="btn btn-success btnSubmit" value="Got drinks">
    <input type="submit" class="btn btn-danger btnSubmit" value="Didn't get drinks">
</form>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ajax Post PHP 变量

来自分类Dev

jQuery AJAX POST发送变量

来自分类Dev

jQuery AJAX POST发送变量

来自分类Dev

Ajax Post发送空变量

来自分类Dev

AJAX向PHP发送变量以处理问题

来自分类Dev

拆分AJAX POST变量

来自分类Dev

最大 POST 变量 PHP?

来自分类Dev

使用jQuery getJSON将变量发送到php post

来自分类Dev

使用POST将js变量从iframe发送到php

来自分类Dev

使用$ _POST作为变量

来自分类Dev

我无法使用JSON发送POST变量

来自分类Dev

为什么当我使用AJAX中的POST将数据发送到PHP时,它说变量为null?

来自分类Dev

发送 POST 时 $_POST 变量为空

来自分类Dev

使用ajax post方法将变量从javascript传递到php

来自分类Dev

Ajax Post-无法获取Post变量

来自分类Dev

Ajax 不向 PHP 发送变量

来自分类Dev

使用AJAX将变量发送到PHP

来自分类Dev

使用AJAX将变量发送到PHP

来自分类Dev

使用ajax-php发送变量时出错

来自分类Dev

使用AJAX将变量发送到PHP,并接收JSON

来自分类Dev

使用 AJAX 将 Php 变量发送到 javascript

来自分类Dev

使用Python3.4和urllib向AJAX发送POST请求

来自分类Dev

通过ajax传递post变量

来自分类Dev

访问Ajax中的Post变量

来自分类Dev

如何通过Ajax将表单数据和POST变量发送到php脚本

来自分类Dev

如果使用mod_rewrite,通过POST发送的变量会发送到PHP吗?

来自分类Dev

PHP变量在POST中安全

来自分类Dev

PHP POST变量值

来自分类Dev

PHP:在$ _POST中包含变量