首先,我制作了包含2个选择菜单的script-html,如下所示。
<script>
....
var selectedLang1 = document.getElementById('lang1').value;
var selectedSubject = document.getElementById('subject').value;
xmlhttp.open("GET","livesearchgroup_"+selectedLang1+"_"+selectedSubject
+".php?q="+str,true);
xmlhttp.send();
}
</script>
<select name="lang1" id="lang1">
<option value="co">한국어</option>
<option value="en">English</option>
<option value="af">Afrikaans</option>
<option value="ar">Arabic</option>
<option value="az">Azerbaijani</option>
<option value="be">Byelorussian (Belarusian)</option>
<option value="bg">Bulgarian</option>
<option value="bh">Bihari</option>
</select>
<select name="subject" id="subject" size="2" style="width:45%;" >
<option value="a">Infection : bacteria and virus </option>
<option value="b">Infection : virus, fungus and etc</option>
<option value="c">Malignant neoplasm</option>
<option value="d">Benign neoplasm and blood </option>
<option value="e">Endocrine, nutrition and metabolism </option>
<option value="f">Mental and behavioral disorders</option>
<option value="g">Nervous system</option>
<option value="h">Eye and ear</option>
<option value="i">Circulatory system</option>
</select>
<form>
<input type="text" size="30" onkeyup="showResult(this.value)">
</form>
<div id="livesearchgroup"></div>
我的php代码如下。
<?php
$lang1=$_POST['lang1'];
$subject=$_POST['subject'];
$xmlDoc=new DOMDocument();
$xmlDoc->load("ds_".$subject."_".$lang1.".xml");
但是select-option值不会出现在php代码中。 我怎样才能在php中接收这些值?
答案 0 :(得分:0)
只有“选定”的值来自http请求,你无法全部获取它们。
答案 1 :(得分:0)
Javascript应该是:
xmlhttp.open("GET","livesearchgroup.php?q="+str+'&lang1='+selectedLang1+"&subject="+selectedSubject,true);
参数必须放在?
之后,而不是作为脚本名称的一部分(除非您有自动执行此操作的服务器重写规则)。
在PHP中,您应该使用$_GET
,而不是$_POST
。
答案 2 :(得分:0)
为什么不用GET方法发送?
如果你想使用POST方法:
试试吧:
xmlhttp.open("POST","livesearchgroup.php?q=" + str,true);
xmlhttp.send("lang1=" + selectedLang1 + "&subject=" + selectedSubject + "");