2017-02-15 11 views
1

私はフォームとajaxを持っています。フォームでボタンの値を送信する方法

私は、フォームにボタンの値を送信するにはどうすればよい$(form).serialize();

に送信することはできませんか?

HTML:

<form action="" id="ogrenci_arama_formu"> 
      <input type="text" id="eposta" name="eposta"> 
      <button id="ogrenci_ara" name="ogrenci_ara" value="true" class="btn btn-info">Öğrenciyi Ara</button> 
      <!--<input id="ogrenci_ara" type="hidden" name="ogrenci_ara" value="true">--> 
     </form> 

はAJAX:

$("#ogrenci_arama_formu").submit(function (e) { 
      e.preventDefault(); 
      console.log("form: ",$(this).serialize()); 
      $.ajax({ 
       url: "sayfalar/ogrenci_bilgileri.php", 
       type: 'post', 
       /*dataType: 'json',*/ 
       data: $(this).serialize() 
      }).done(function(data) { 
       $("tbody").html(data); 
      }).fail(function(data) { 
       console.log("error",data); 
      }); 
     }); 

出力:

eposta= 
+0

なぜボタン値が必要ですか?私は2つのボタンを使用しているので –

+0

。名前付き検索ボタン、名前付きExcelエクスポートボタン。 – bukalemun

答えて

1

変数に保存ボタン値のように試してみて、フォームで送信この

のようにシリアライズJAVASCRIPT-

$("#ogrenci_arama_formu").submit(function(e) { 
    e.preventDefault(); 
    var btnValue = $(this).find('#ogrenci_ara').val(); 
    console.log("form: ", $(this).serialize()+'&ogrenci_ara='+btnValue); 
    $.ajax({ 
    url: "sayfalar/ogrenci_bilgileri.php", 
    type: 'post', 
    /*dataType: 'json',*/ 
    data: $(this).serialize()+'&ogrenci_ara='+btnValue 
    }).done(function(data) { 
    $("tbody").html(data); 
    }).fail(function(data) { 
    console.log("error", data); 
    }); 
}); 
+0

ありがとう、なぜ私はフォームでボタンの値を送信できないのですか? – bukalemun

+0

"成功したコントロール"のみが文字列にシリアル化されるため、ボタンを使用してフォームが送信されなかったため、送信ボタンの値はシリアル化されません。 'serialize()'メソッドの詳細は[jQuery](http://api.jquery.com/serialize/)のリンクから読むことができます。 –

+0

@bukalemun助けてもらえれば回答を受け入れてください。 –

関連する問題