【问题标题】:How to include value of form submit button that was clicked?如何包含被点击的表单提交按钮的值?
【发布时间】:2016-05-11 10:15:19
【问题描述】:

我必须提交一个表单,并且我需要包含被点击的提交按钮的值。我怎样才能做到这一点?这是我的代码:

<form id="form_update" >
    <input type="text" class="form-control" name="title" value="" >
    <input type="hidden" name="prova" value="prova" />
    <button type="submit" name="salva" value="delete" class="btn btn-success">delete</button>
    <button type="submit" name="salva" value="modify" class="btn btn-success">modify</button>
    <button type="submit" name="salva" value="save" class="btn btn-success">save</button>
</form>
$(document).on('submit', '#form_update', function() { 
    return callAjax($(this).serialize()); 
}); 

function callAjax(data) {
    $.ajax({
        type: 'POST',
        url: 'call/function.php',
        data: data,
        success:  function(data) { 
            // code
        },
        error: function(data) { 
            alert('error'); 
        }
    });
    return false;
};  

【问题讨论】:

  • “还需要提交被点击的按钮”?你在哪里用这个?

标签: php jquery ajax forms


【解决方案1】:

我会将事件类型更改为单击按钮并使用 $(this).val() 访问它们的值

$(document).on('click', 'button', function(e) {
    e.preventDefault(); // Prevent from submitting form. 
    var buttonValue = $(this).val();
    return callAjax($('#form_update').serialize()); 
}); 

【讨论】:

    【解决方案2】:

    使用下面的函数。

    $(document).on('submit', '#form_update', function() { 
        var val = $("input[type=submit][clicked=true]").val();
        return callAjax($(this).serialize()+'&clickedVal='+val ); 
    }); 
    

    它将通过ajax 请求传递单击按钮的值。

    【讨论】:

      【解决方案3】:

      谢谢...

      使用 Arun 解决方案,我得到未定义的 val 值...

      使用 Daan 解决方案,问题是一样的......

      但是根据您的回复,我已经解决了一个混合问题:)

      $(document).on('click', 'button', function(e) {
        e.preventDefault(); // Prevent from submitting form. 
        var buttonValue = $(this).val();
        return callAjax($('#form_update').serialize()+'&salva='+buttonValue ); 
      }); 
      

      非常感谢;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-29
        • 1970-01-01
        • 2020-12-03
        • 2017-04-26
        相关资源
        最近更新 更多