我需要使用serialize()函数发布按钮值。问题是serialize()不会发布按钮值。我的表单中有SAVE,UPDATE和DELETE按钮。然后PHP必须知道哪个按钮单击特定操作。我可以通过click函数获取按钮值,但是如何使用Ajax传递给PHP页面。我的代码在下面,也来自stackoverflow。
$(document).ready(function()
{
$("#btnUpdate").click(function() {
alert($(this).attr("value"));
/* attach a submit handler to the form */
$("#form1").submit(function(event) {
/* stop form from submitting normally */
event.preventDefault();
/*clear result div*/
$("#result").html('');
/* get some values from elements on the page: */
var values = $(this).serialize();
/* Send the data using post and put the results in a div */
$.ajax({
url: "form.php",
type: "post",
data: values,
success: function(data){
alert("success");
alert(data);
$("#result").html('submitted successfully');
},
error:function(){
alert("failure");
$("#result").html('there is error while submit');
}
});
});
});
});
答案 0 :(得分:2)
使用此按钮获取按钮值,将其放在有警报的位置:
var buttonvalue = $(this).val();
然后您可以通过执行以下操作将其附加到序列化数据:
var values = $('#form1').serialize();
values = values + '&button='+buttonvalue;
'& button ='是您在测试时会调用的,以查看使用了哪个按钮。
答案 1 :(得分:0)
documentation表示No submit button value is serialized since the form was not submitted using a button.
。
无论如何,您可以通过将按钮名称和值附加到serialize()
的{{1}}输出来实现。
答案 2 :(得分:0)
我想你想试试这个
$(document).ready(function()
{
$("#btnUpdate").click(function() {
/* attach a submit handler to the form */
$("#form1").submit(function(event) {
/* stop form from submitting normally */
event.preventDefault();
/*clear result div*/
$("#result").html('');
/* get some values from elements on the page: */
var values = $(this).serialize();
/* Send the data using post and put the results in a div */
$.ajax({
url: "form.php",
type: "post",
data: values + '&' + 'button=' $(this).attr('value'),
success: function(data){
alert("success");
alert(data);
$("#result").html('submitted successfully');
},
error:function(){
alert("failure");
$("#result").html('there is error while submit');
}
});
});
});
});