-4

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

<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'];
4

3 回答 3

2

在第二个参数的下拉和隐藏字段的情况下,您必须使用表单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超全局数组中获取变量,例如: $_GET['first']-它是下拉元素的值和$_GET['second']-第二个隐藏参数。

于 2012-07-03T05:58:38.370 回答
0

尝试为下拉 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>
于 2012-07-03T05:51:57.463 回答
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>
于 2012-07-03T05:57:46.077 回答