2012-03-06 1 views
0

ブラウザでHTTP POSTを発行させるには、チェックボックス(フォーム内)またはドロップダウンメニューの選択を強制的に変更できますか?すべてのチェックボックス/ドロップダウンの変更時にPOSTを強制する

帯域幅は問題ではありません。ページの再読み込みは問題ではなく、完全なAJAXルートには行きたくありません。

私が本当に望むのは、ユーザーが変更後に[送信]をクリックする必要なく、ユーザーがチェックボックスをクリックしたとき(またはドロップダウンメニューから何かを選択したときなど)にHTTP POSTが実行されることです。

クライアントサイドでJavaScriptを使用する必要がありますか? (私はうまくGoogle何もできなかった)

+1

のためにあなたがトリガーとして使用したい要素にクラスを配置し、 設定フォームを持っている場合は、no "がありますおそらく "、JSを使用してすべての変更についてフォームを提出する必要があります。 –

+0

誰かがdownvoteを説明することができれば、それは素晴らしいだろう。 –

+0

私はdownvoteしませんでしたが、それは努力の認識された欠如のためだと思う - あなたの結果にもかかわらず、これは簡単に検索可能です。たとえば、https://www.google.com/search?btnG=1&pws=0&q=submit+form+on+checkbox+click&qscrl=1は、かなりのヒントを返すようです。 –

答えて

2

Javascriptを使用してください。エレメントにonchange="document.getElementById('myFormId').submit()"を追加するか、これをプログラムで行います。​​は、form要素のHTML IDで置き換える必要があります。

+0

全員に+1 ...あなたの素早い答えのためにありがとう:うまく動作します。 –

+0

インラインでオブジェクトが送信するフォームの中にある場合、 'onchange =" this.form.submit() "'もそれを行います – mplungjan

1

AFIKそれはクライアント側のスクリプトなしで行うことはできません。最も簡単な方法は、フォームの変更ごとにsubmitイベントをトリガーすることです。 jQueryを使って、それを次のコードで行われます:あなたはjQueryのを使用しない場合

<script type="text/javascript"> 
$(function() { 
    $("input[type=checkbox],input[type=radio],select").change(
     function(evt)){evt.target.form.submit();} 
    ); 
}); 
</script> 

は、あなたには、いくつかの定型イベント処理コードを記述する必要があります。 JavaScriptのイベント処理の詳細については、this introductionを参照してください。

1

JavaScript onchangeイベントを使用して、フォーム上でsubmit()関数を呼び出すことができます。

1

すでにだけ選択

$(".classname").change(function(){ 
$("#formid").submit(); 
}); 
チェックボックス/ラジオのための

$(".classname").click(function(){ 
$("#formid").submit(); 
}); 
関連する問題