如何包含点击的表单提交按钮的值?

时间:2016-05-11 10:15:20

标签: php jquery ajax forms

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

<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;
};  

3 个答案:

答案 0 :(得分:2)

我会将事件类型更改为单击按钮并使用$(this).val()

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

答案 1 :(得分:2)

使用以下功能。

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

它将使用ajax请求传递点击的按钮值。

答案 2 :(得分:0)

...谢谢

使用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 ); 
}); 

非常感谢;)