2012-01-16 8 views
3

送信時にクリックされた送信入力を確認するにはどうすればよいですか?例えば提出された投稿入力を知るにはどうすればいいですか?

、私は「更新」入力を提出するか、かどうかを知りたい入力を提出する上でクリックされた提出「update_close」。

HTML、

<form id="form_data"> 
    <input type="input" name="title" value="" /> 
    <input type="submit" name="update" value="Update" /> 
    <input type="submit" name="update_close" value="Update and Close"/> 
</form> 

jqueryの、

$(document).ready(function(){ 

     $('#form_data').submit(function(e){ 

      alert($(this).serialize()); 
      return false; 
     }); 

    }); 

jsfiddle

答えて

5

これは送信ハンドラではわかりません。この情報は渡されません。あなたができることは、これら2つのボタンのclickイベントを購読して、フォームのグローバル変数またはHTML5 data-*属性を更新して、フォーム送信ハンドラ内で知ることができるようにすることです。

また、ボタンをクリックせずにプログラマチックに.submitイベントを呼び出すと、この情報は意味がありません。


UPDATE:DATA-は*属性HTML5を使用して

例:

$('#form_data').submit(function(e) { 
    var submitButton = $(this).data('submitbutton'); 
    ... 
}); 
+0

感謝:

$('#form_data :submit').click(function() { $(this).closest('form').data('submitbutton', $(this).attr('name')); }); 

とあなたの提出ハンドラ内

。 HTML5のdata- *属性を使ってどうすればいいですか?ありがとう。 – laukok

+0

どのボタンがクリックされたのかをサーバーがどのように知っていますか? (それは...送信ボタンのIDが渡されている) – gdoron

+0

@lauthiamkok、私は例を提供するために私の答えを更新しました。 –

関連する問題