2011-10-26 11 views
1

私は多くのラジオボタンを持つフォームを持っています。選択した内容に応じて、異なるボタンセットが表示されます。ユーザーが送信ボタンを押したときに表示されるボタンのみを投稿する方法はありますか?おかげjquery submit form - >目に見えるデータを投稿する

答えて

0

のためにあなたが提出する機能をフックすることができます

帰国偽の提出を防ぐ:

注意など、または隠された要素を削除します。

$("#formID").submit(function() { 
    //Do what you need 
}); 

は、その後のデータは$(「見え入力」)であるAJAXポストを行います!

+0

そうですが、ポストデータを持つユーザーを別のページにリダイレクトする必要があるので、通常の投稿はこの場合に行く方法ですか? – Johan

+1

@Johan trueを返すと、送信アクションが実行されます。 隠し要素 '$( 'input:hidden')'をフックしてからtrueを返します。 – JackWink

+0

あなたがajax投稿をしてtrueを返すと、2つの投稿が返ってきます。要素を削除してtrueを返すのは理にかなっています。 –

-1

おそらく、しかし、あなたは誰もがあなたを送信していないことを確認するために、サーバー側のロジックに頼るべきであるが、とにかくデータを「fudged」。

あなたはおそらく前、このような提出(jQueryの)にフォームから隠されたものを削除することによってそれを行うことができます: -

$(id).remove(); 

これは、すべての隠された入力コントロールを削除します。これは、ビューステートとイベントの検証を殺すようあなたは.NETでこれをやっている場合、私は本当に、特にしかし、このことをお勧めします(とは非常に慎重ではないでしょう。

$('input:hidden').remove(); 
+0

$( 'input:hidden')。remove();非表示の入力ではなく非表示の入力を取り除きます。 –

+0

'$("入力:not(:visible) ")。remove()'はおそらく彼の言葉です。 –

0

あなたは、フォームを手動で送信するトリガ場合にのみ、ラジオボタンをフィルタリングすることができます。

.click(fn)または .submit(fn)機能を持つ例えば例

<button id="myFormSubmit"> <!-- in the form --> 

//In js file or in the embed function 
$(document).ready(function() 
{ 
    $('#myFormSubmit').click(function() 
    { 
     var filterCheckbox1 = $('input[type=checkbox][name=checkbox1Group1]').val(); 
     ... 
     var filterCheckboxN = $('input[type=checkbox][name=checkboxNGroup1]').val(); 
    }); 
}); 
関連する問題