2

我有麻烦,我的代码不起作用,因为我的服务器脚本端需要来自提交按钮的名称。我正在使用 Ajax 方法,并且正在使用数据:序列化,当我单击提交时,它不起作用。这是我的 JavaScript 代码:

$(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">
4

2 回答 2

1

我相信你不能这样做,但你可以使用隐藏字段

<input type="hidden" name="any_name" value="any_value" />
于 2013-07-10T09:01:09.290 回答
0

尝试这个:

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>

HTML 代码:

<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'); 
于 2013-07-10T09:25:58.743 回答