2011-12-18 18 views
0
<form action="" method="post"> 
    <select name="answer" onchange="this.form.submit();" > 
     <option>Choose Answer</option> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
    </select> 
    </form> 

ユーザーが1つの回答を選択した後に関数を調整したいと思います。 関数は、選択された値を入力します。 ($ option_here)フォーム送信時に選択機能を実行する

+0

'のonchange = "警告(this.options [this.selectedIndex] .VALUE);" あなたが呼び出したい関数であることを指定する必要があります – noob

+0

' PHP関数。私の意見ではまったく明らかではなかった... – Svish

答えて

1

関数呼び出しをonchange属性に追加します。

onchange="answered(this.value);this.form.submit();" 

編集:

申し訳ありませんが、あなたの質問を誤解。私はansweredでしたが、JavaScript関数でした。

あなたのフォームメソッドにはPOSTがあるため、投稿するときに$_GETではなく、$_POSTを使用してデータを取得する必要があります。代わりにこれを試してみてください:ユーザーはあなたがやるように見える何かを、選択したときにフォームを送信する場合は、他のフォームが送信されてしまうよう

answered($userid, $answerid, $_POST["answer"]); 
+0

それは何もしません – heav3n

+0

あなたは '応答'関数が定義されていますか? – Will

+0

はい。 (userid、answerid、this.value)実際に応答し、その関数にdb insertを行います。 – heav3n

0

、あなたはそれを扱うことができます。

ページをリロードせずに実行する場合は、JavascriptとAJAXを使用する必要があります。もしそうなら、このサンプルコードでポインタを見つけるかもしれません:http://samples.geekality.net/tail。これは、いくつかのデータをjQuery Ajaxを使ってphpファイルにポストし、関数を呼び出して何らかの結果を返します。

0

は、このいずれかを実行してください:

<script> 
    function doSmTh(ths) 
    { 
     /*some actions*/ 

     document.forms['formName'].submit(); 
    } 
</script> 

    <form action="" id="formName" name="formName" method="post"> 
     <select name="answer" onchange="doSmTh(this)" > 
      <option>Choose Answer</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
     </select> 
    </form> 
関連する問題