【问题标题】:How to include submit button name and values on form Serialize() ajax如何在表单 Serialize() ajax 中包含提交按钮名称和值
【发布时间】:2013-07-08 03:03:34
【问题描述】:

我遇到了麻烦,我的代码不起作用,因为我的服务器脚本端需要来自提交按钮的名称。我正在使用 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">

【问题讨论】:

    标签: javascript jquery ajax jquery-events


    【解决方案1】:

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

    <input type="hidden" name="any_name" value="any_value" />
    

    【讨论】:

    • 这也可能有帮助。 stackoverflow.com/questions/4007942/…
    • &lt;input name="update" id="update" type="submit" value="update"&gt; &lt;input name="empty" id="empty" type="submit" value="empty"&gt;
    【解决方案2】:

    试试这个:

    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'); 
    

    【讨论】:

      猜你喜欢
      • 2014-10-31
      • 2015-03-07
      • 2011-01-10
      • 2012-01-24
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      相关资源
      最近更新 更多