我实现了一个三级联动的下拉单功能,但是现在确有问题:在ajax发送一次请求后,然后刷新页面(f5,右键,地址栏后面刷新),就会将请求的结果(xml文件)输出到页面上?有那位仁兄可以指点一下吗?在线等待!!!!!!!!!!!!!
//创建 xmlHttp对象
function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}//选择行政区域时触发的动作
function addSelect(sid,element,type) {
createXMLHttpRequest();
var url="show_area.php?sid="+sid+"&flag="+element+"&type="+type+"";
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange =onStateChange ;
xmlHttp.send(null);
}//选择行政区域时ajax的代码
function onStateChange() { ////开始处理数据 3
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
var returnxml=xmlHttp.responseXML;
var returntext=xmlHttp.responseTEXT;
var flag=returnxml.getElementsByTagName("flag")[0].text;
var idarray=returnxml.getElementsByTagName("area_code");
var namearray=returnxml.getElementsByTagName("area_name");
if(flag=="selectCity"){
var selectCity=document.getElementById("selectCity");
for(i=0;i<100;i++){
selectCity.remove(0);
}
var selectArea=document.getElementById("selectArea");
for(i=0;i<100;i++){
selectArea.remove(0);
}
var selectXiang=document.getElementById("selectXiang");
for(i=0;i<100;i++){
selectXiang.remove(0);
}
var selectCun=document.getElementById("selectCun");
for(i=0;i<100;i++){
selectCun.remove(0);
}
selectCity.focus();
selectCity.add(new Option("---请选择---","0"));
selectArea.add(new Option("---请选择---","0"));
selectXiang.add(new Option("---请选择---","0"));
selectCun.add(new Option("---请选择---","0"));
for(i=0;i<idarray.length;i++){
selectCity.add(new Option(namearray[i].text,idarray[i].text));
}
}
if(flag=="selectArea"){
var selectArea=document.getElementById("selectArea");
for(i=0;i<100;i++){
selectArea.remove(0);
}
var selectXiang=document.getElementById("selectXiang");
for(i=0;i<100;i++){
selectXiang.remove(0);
}
var selectCun=document.getElementById("selectCun");
for(i=0;i<100;i++){
selectCun.remove(0);
}
selectArea.focus();
selectArea.add(new Option("---请选择---","0"));
selectXiang.add(new Option("---请选择---","0"));
selectCun.add(new Option("---请选择---","0"));
for(i=0;i<idarray.length;i++){
selectArea.add(new Option(namearray[i].text,idarray[i].text));
}
}
if(flag=="selectXiang"){
var selectXiang=document.getElementById("selectXiang");
for(i=0;i<100;i++){
selectXiang.remove(0);
}
var selectCun=document.getElementById("selectCun");
for(i=0;i<100;i++){
selectCun.remove(0);
}
selectXiang.focus();
selectXiang.add(new Option("---请选择---","0"));
selectCun.add(new Option("---请选择---","0"));
for(i=0;i<idarray.length;i++){
selectXiang.add(new Option(namearray[i].text,idarray[i].text));
}
}
if(flag=="selectCun"){
var selectCun=document.getElementById("selectCun");
for(i=0;i<100;i++){
selectCun.remove(0);
}
selectCun.focus();
selectCun.add(new Option("---请选择---","0"));
for(i=0;i<idarray.length;i++){
selectCun.add(new Option(namearray[i].text,idarray[i].text));
}
} }
}
}
输出的xml
<?xml version="1.0" encoding="gb2312" ?>
- <area>
<flag>selectXiang</flag>
- <area_info>
<area_code>1.1.1.1</area_code>
<area_name>大里乡</area_name>
</area_info>
</area>
//创建 xmlHttp对象
function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}//选择行政区域时触发的动作
function addSelect(sid,element,type) {
createXMLHttpRequest();
var url="show_area.php?sid="+sid+"&flag="+element+"&type="+type+"";
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange =onStateChange ;
xmlHttp.send(null);
}//选择行政区域时ajax的代码
function onStateChange() { ////开始处理数据 3
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
var returnxml=xmlHttp.responseXML;
var returntext=xmlHttp.responseTEXT;
var flag=returnxml.getElementsByTagName("flag")[0].text;
var idarray=returnxml.getElementsByTagName("area_code");
var namearray=returnxml.getElementsByTagName("area_name");
if(flag=="selectCity"){
var selectCity=document.getElementById("selectCity");
for(i=0;i<100;i++){
selectCity.remove(0);
}
var selectArea=document.getElementById("selectArea");
for(i=0;i<100;i++){
selectArea.remove(0);
}
var selectXiang=document.getElementById("selectXiang");
for(i=0;i<100;i++){
selectXiang.remove(0);
}
var selectCun=document.getElementById("selectCun");
for(i=0;i<100;i++){
selectCun.remove(0);
}
selectCity.focus();
selectCity.add(new Option("---请选择---","0"));
selectArea.add(new Option("---请选择---","0"));
selectXiang.add(new Option("---请选择---","0"));
selectCun.add(new Option("---请选择---","0"));
for(i=0;i<idarray.length;i++){
selectCity.add(new Option(namearray[i].text,idarray[i].text));
}
}
if(flag=="selectArea"){
var selectArea=document.getElementById("selectArea");
for(i=0;i<100;i++){
selectArea.remove(0);
}
var selectXiang=document.getElementById("selectXiang");
for(i=0;i<100;i++){
selectXiang.remove(0);
}
var selectCun=document.getElementById("selectCun");
for(i=0;i<100;i++){
selectCun.remove(0);
}
selectArea.focus();
selectArea.add(new Option("---请选择---","0"));
selectXiang.add(new Option("---请选择---","0"));
selectCun.add(new Option("---请选择---","0"));
for(i=0;i<idarray.length;i++){
selectArea.add(new Option(namearray[i].text,idarray[i].text));
}
}
if(flag=="selectXiang"){
var selectXiang=document.getElementById("selectXiang");
for(i=0;i<100;i++){
selectXiang.remove(0);
}
var selectCun=document.getElementById("selectCun");
for(i=0;i<100;i++){
selectCun.remove(0);
}
selectXiang.focus();
selectXiang.add(new Option("---请选择---","0"));
selectCun.add(new Option("---请选择---","0"));
for(i=0;i<idarray.length;i++){
selectXiang.add(new Option(namearray[i].text,idarray[i].text));
}
}
if(flag=="selectCun"){
var selectCun=document.getElementById("selectCun");
for(i=0;i<100;i++){
selectCun.remove(0);
}
selectCun.focus();
selectCun.add(new Option("---请选择---","0"));
for(i=0;i<idarray.length;i++){
selectCun.add(new Option(namearray[i].text,idarray[i].text));
}
} }
}
}
输出的xml
<?xml version="1.0" encoding="gb2312" ?>
- <area>
<flag>selectXiang</flag>
- <area_info>
<area_code>1.1.1.1</area_code>
<area_name>大里乡</area_name>
</area_info>
</area>
不过帮你定