2011-09-23 8 views
0

私はアウトフォームでコンボボックスの値を提出する必要があります。私がjavascriptを使用して自動的に提出すると思われるコンボの任意の値をクリックすると。バックエンドでPHPを使用しています。javascriptを使用してコンボボックスの値をフォームで送信する方法

<select name="select" id="select" style="width:50px;"> 
    <option value="25">25</option> 
    <option value="50">50</option> 
    <option value="100">100</option> 
    <option value="All">All</option> 
</select> 
+1

私はあなたが[ 'change'ハンドラ](http://www.quirksmode.org/dom/events/change.html)が必要想像。 –

+0

prototypeやjQueryのようなjavascriptライブラリを使用していますか? – drew010

+0

まだページのJavaScriptを書いていますか?もしそうなら、それをQに入れてください。 –

答えて

2

JSの一部:

function getinfo() { 
    var aList = document.getElementById("select"); 
    var val = aList.options[aList.selectedIndex].value; 

    // document.write("<p>Here what you select: "+val+"</p>"); 
    // here you can send `val` to the server using... are you using any js library? 
} 

そして、あなたはあなたのselect宣言を変更する必要があります。サーバーへvalを送信するためにどのように

<select name="select" id="select" style="width:50px;" onchange="getinfo()"> 
                 -------------------- 
</select> 

OKは、別の質問です...あなたがしている場合jQueryを使用 - jQuery.ajax(...)またはjQuery.get(...)のようなヘルパーを使用できます。もしあなたがvanilla-jsのユーザであれば、XMLHttpRequestの方法を使うことができます。他のlibを使っているならば、このlibのドキュメントを調べて、サーバにデータを送ることについて助けてください。

0

いくつかのコメント:

  • select要素が常にform.内にある必要がありますしかし、あなたは、ページ上のフォームを公開する必要はありません - あなたはsubmit入力を含める必要はありません素子。ユーザーが選択の値を変更した後

  • あなたはフォームを送信するためにはJavaScript(JS)を使用することができます。

  • それとも、バックグラウンドで非同期的にフォームを送信するためにアヤックスとのJSを使用することができます - ユーザーはデータが送信されたことを認識されず、ページがリロードまたは「フラッシュ」

ません。

何をしますか?

1

以下の方法を使用できます。

1)を使用するセッションやクッキーは、外部データ を送信するためには)javascript.CheckoutにリンクhereをXMLHttpRequestのを使用してPOSTリクエストを送信します。

3)あなたは、HTTPのPOSTリクエストを送信するためのcURL関数を使用することができます。リンクhereをご覧ください。ここで

関連する問題