【发布时间】:2014-09-29 10:09:03
【问题描述】:
我应该制作一个动态选择框,其中医生姓名的选择取决于在另一个选择框中选择哪个,即专业。
这里是 html
<select name="docSpec" id="docSpec" onChange="getSpecialty('getSpec.php?spec='+this.value)">
<option>pick a specialization</option>
<option value="General">General</option>
<option value="pediatrics">pediatrics</option>
<option value="Physician">Physician</option>
<option value="Cardiologist">Cardiologist</option>
<option value="Pulmonary">Pulmonary</option>
</select>
<div id="getDoc"> <!-- the contents from getSpec.php are displayed in this div! -->
<select>
<option>select doctor</option>
</select>
</div>
仍然在同一个文件中,这是我的 javascript..
function getXMLHTTP() { //fuction to return the xml http object
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e) {
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}
return xmlhttp;
}
function getSpecialty(strURL) {
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('getDoc').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
我有一个单独的请求文件,其中包含 this 名为 getSpec.php
<?php $spec=$_REQUEST['spec']; // i converted javascript variable to php by passing it to url
require_once('dbcon.php');
$query="select doctorName from doctors where specialty= '$spec'"; // this is why i passed it with jquery
$result=mysqli_query($conn,$query);
?>
<select name="doctor">
<option>Select doctor</option>
<?php
while( $row = mysqli_fetch_row($result)) {
echo "<option value='$row[0]'>$row[0]</option>"; // for contents of the dropdown
} ?>
我传递了 javascript 变量并使用此代码在另一个页面 getSpec.php 中将其转换为 php,但现在的问题是我无法从选定的
<select name="docName> 。它在另一个页面名称 getSpec.php 中有没有办法我可以得到它?
【问题讨论】:
-
使用 POST 方法将选择字段包装在表单中,然后您可以通过 $var = $_POST['docName']; 在新窗口中访问它表单提交后。
-
嘿!实际上,它已经以 post 作为方法包装在一个表单中。并且这里没有发生重定向,getSpec.php 仅执行其功能,然后将其内容返回到
<div = "getDoc">。有任何想法吗? :)
标签: javascript php jquery html url