好的,要么我无法正常搜索网页,要么我无法理解,我的搜索结果的重点,但经过几天的搜索并尝试自己做,我仍然没有简单和可以理解的答案!
我有一个带选择框的航班搜索表单。 选择框结果通过PHP从PHP填充。
示例:
转发航班:
出发城市 - “伦敦”
目的地城市 - 所有城市都在伦敦举行
航班日期 - 伦敦航班的所有航班日期 - >转发目的地 城市
后退航班:
出发城市 - 所有城市再次出现在伦敦
目的地城市 - 所有城市都在向后离开城市
航班日期 - 航班后退的所有航班日期 城市 - >落后目的地城市
我只使用PHP和表单GET方法制作这个表单没问题,但是,当然,我想摆脱页面重新加载。明显的解决方案 - AJAX。
我的方法:
这适用于两个文件(第一个是“父”,第二个 - “子” - 根据“父”框选择值填充)。但是,如果我想使用相同的方法来填充第三个字段(依赖于“child”的字段),它只是不起作用。因为我不是javascript的专家,所以我无法理解这一点。
我打赌有一个简单的解决方案!
答案 0 :(得分:0)
一个简单的例子,可以帮助你:
Main.php文件
<script type="text/javascript">
function loadXMLDoc(step)
{
var showPage;
var rrestultBox;
if (step==1)
{
showPage = 'destination.php?select=' + document.getElementById('departure').value;
resultBox = 'destinationBox';
}
if (step==2)
{
showPage = 'times.php?select=' + document.getElementById('destination').value;
resultBox = 'timesBox';
}
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(resultBox).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",showPage,true);
xmlhttp.send();
}
</script>
<form name="selectBoxes">
<select name="departure" id="departure" onchange="loadXMLDoc(1);">
<option value="sydney">Sydney</option>
<option value="canberra">Canberra</option>
<option value="Melbourne">Melbourne</option>
</select>
</form>
<div id="destinationBox"></div>
<div id="timesBox"></div>
<强> destination.php 强>
<form name="selectBoxes">
<select name="destination" id="destination" onchange="loadXMLDoc(2);">
<option value="sydney">Sydney</option>
<option value="canberra">Canberra</option>
<option value="Melbourne">Melbourne</option>
</select>
</form>
times.php文件
<form name="selectBoxes">
<select name="times" id="times"">
<option value="">1pm</option>
<option value="">2pm</option>
<option value="">3pm</option>
</select>
观看它的实际效果:here
**已更新,忘记添加'destination.php'