Javascript 如何在表单Serialize()ajax中包含提交按钮名称和值
我遇到了问题,我的代码无法工作,因为我的服务器脚本端需要来自提交按钮的名称。我使用的是Ajax方法,我使用的是data:serialize,当我单击Submit时,它就不起作用了。以下是我的JavaScript代码:Javascript 如何在表单Serialize()ajax中包含提交按钮名称和值,javascript,jquery,ajax,jquery-events,Javascript,Jquery,Ajax,Jquery Events,我遇到了问题,我的代码无法工作,因为我的服务器脚本端需要来自提交按钮的名称。我使用的是Ajax方法,我使用的是data:serialize,当我单击Submit时,它就不起作用了。以下是我的JavaScript代码: $(function(){ $('#buy_product').submit(function(e){ e.preventDefault(); var submitData = $('#buy_product').serialize();
$(function(){
$('#buy_product').submit(function(e){
e.preventDefault();
var submitData = $('#buy_product').serialize();
submitData.push({ name: this.name, value: this.value });
$('.loading').html('{{HTML::image('img/ajax-loader.gif')}}');
$.ajax({
type: "POST",
data: submitData,
url: "{{URL::base()}}/products/view/{{$products->id}}/{{Str::slug($products->name_product, '_')}}",
success: function(msg){
$('#qty').val('');
$('.loading').html(msg);
}
});
});
});
如果你有线索,请告诉我,我会很高兴的
我的按钮是这样的:
<input name="update" id="update" type="submit" value="update">
<input name="empty" id="empty" type="submit" value="empty">
我相信您不能这样做,但可以使用隐藏字段
<input type="hidden" name="any_name" value="any_value" />
试试这个:
Java脚本代码:
<script type='text/javascript'>
$(function(){
$('#form').submit(function(e){
e.preventDefault();
var submitData = $('#form').serialize();
var btnName = $('#submit').attr('name');
var btnVal = $('#submit').val();
var btn = '&'+btnName+'='+btnVal;
submitData += btn;
alert(submitData);
});
});
</script>
<form action="" id="form" type='post'>
<input type="text" name="name" id="name" value='Scott'/>
<input type="submit" name="submit" id="submit" value='POST'/>
</form>
var submitData = $('#buy_product').serialize();
submitData += '&btnName=' + $('#your_submitbtn_id').attr('name') + '&btnValue='+ $('##your_submitbtn_id').attr('value');
这可能也有帮助<代码>