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