2013-07-10 31 views
2

我有麻煩,我的代碼不起作用,因爲我的服務器腳本端需要提交按鈕中的名稱。即時通訊使用Ajax方法,即時通訊使用數據:序列化,當我有點擊Sumbit,它不起作用。這裏是我的JavaScript代碼:如何在表單中包含提交按鈕名稱和值Serialize()ajax

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

回答

1

我相信你不能這樣做,但你可以使用隱藏域

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

這可能幫助了。 http://stackoverflow.com/questions/4007942/jquery-serializearray-doesnt-include-the-submit-button-that-was-clicked – dcodesmith

+0

''\t'' –

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'); 
相關問題