从PHP的下拉菜单中传递两个变量

时间:2012-07-03 05:38:15

标签: php javascript html

我想重新加载我的页面(PHP),从dropdownmenu更改值,并将所选项的值作为变量与另一个变量一起传递给页面。我试过以下 -

<select name="application" onChange=Refresh(this.value,$query)" \>
<option>Any Application</option>
<option>ChIP</option>
<option>Enzyme Immunoassay</option>
<option>ELISA</option>
<option>Flow Cytometry</option>
<option>FACS</option>
</select>

刷新功能是:

function Refresh(id,gene){
location.href="getnet.php?app=" + id + "&query=" + gene;
}

我收到变量:

$query = $_POST['gene'];
$app = $_POST['application'];

3 个答案:

答案 0 :(得分:1)

您必须在第二个参数的下拉列表和隐藏字段的submit()事件中使用表单onchange方法,例如:

<form name="myForm" method="GET" action="<?php echo $_SERVER['PHP_SELF'];?>">
  <select name="first" onChange="document.myForm.submit();">
    <option value="1">Value 1
    <option value="2">Value 2
    <option value="3">Value 3
  </select>
  <input type="hidden" name="second" value="second parameter value"/>
</form>

在服务器端,您可以在$_GET supperglobal数组中获取变量,如: $_GET['first'] - 来自下拉元素的值和$_GET['second'] - 第二个隐藏的参数。

答案 1 :(得分:0)

尝试为dropdown onchange事件编写js函数。以下是示例代码:

<script type="text/javascript">
 function reload_url(val){
    window.location.href = 'some_php_file.php?new_var='.val;
 }
 </script>

 <select name="my_Sel" onchange="reload_url(this.value);">
 <option value="1">1</option>
 <option value="2">2</option>
 </select>

答案 2 :(得分:0)

尝试表单提交onChange怎么样?

<form name="form" action="url" method="get">
    <select name="application" onChange="this.form.submit();" > 
        <option>Any Application</option> 
        <option>ChIP</option> 
        <option>Enzyme Immunoassay</option> 
        <option>ELISA</option> 
        <option>Flow Cytometry</option> 
        <option>FACS</option> 
    </select>
    <input type="hidden" name="gene" value="variable" />
</form>