2011-12-18 73 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

'平變化= 「警報(this.options [this.selectedIndex] .value的);」' – noob 2011-12-18 17:10:24

+0

您需要指定要調用的函數是PHP函數。從我的觀點來看,這個問題根本不清楚...... – Svish 2011-12-18 19:38:50

回答

1

將函數調用添加到onchange屬性。

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

編輯:

對不起,誤解了你的問題。我雖然answered是一個JavaScript函數。

你有POST作爲你的表單方法,所以當它被提交時,你必須使用$_POST來獲取數據,而不是$_GET。試試這個:

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

它什麼也沒有做 – heav3n 2011-12-18 17:58:14

+0

你有定義的「回答」功能嗎? – Will 2011-12-18 18:34:20

+0

是的。其實際回答(userid,answerid,this.value)並在該函數上進行數據庫插入。 – heav3n 2011-12-18 18:38:05

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>