index.html
<a href="#" onclick="window.open('zi1.htm','','status=yes,width=200,height=200')">  子窗口1  </a>   <br />
<input name="he" type="text" readonly="true">zi1.htm
<input type="button" value="关闭窗口" onclick="xs(this.value);">  
<script>
function xs(obj){
window.opener.document.getElementById("he").value= obj;
window.close();
}
</script>
自己看下效果

解决方案 »

  1.   

    那个是AJAX后台处理的,不是与子窗口的值比较,这个是把数据传递到后台处理的!
    AJAX
      

  2.   

    先谢谢各位了,我没学过ajax,刚才看了看验证的步骤,自己做了一个,但是就是没有想要的结果-_-!!!我把代码贴出来,劳烦各位帮我看看哪错了,我的设计就差这一点了。。
    index.jsp
    <%@page contentType="text/html;charset=gb2312"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>公交车查询系统</title>
    <META content="公交车查询系统。" name=description>
    <style type="text/css">
    body,tr,td {
    text-align: center;
    font-family: 宋体;
    font-size: 13px
    }
    </style>
    <script language="JavaScript">function doChoice(choiceid){
    switch (choiceid){
    case 1:
    var returnBusID=window.showModalDialo("./station.jsp","","dialogHeight: 350px; dialogWidth: 280px; dialogTop: 300px; dialogLeft: 300px; edge: Raised; center: Yes; help: No; resizable: No; status: No;");
    if (returnBusID)
        document.form1.text1.value=returnBusID;
    break;}
    function check2()
    {
    if(document.form2.text2.value=="")
    {
    window.alert("站点不能为空!");
    window.form2.text2.focus();
    return false;
    }
    else 
    {
    var xmlhttp;
    try{
        xmlhttp=new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e){
                    try{
                            xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
                        } catch(e){
                                        try{
                                                xmlhttp=new XMLHttpRequest();
                                            }catch(e){}
                                }
                }
                
    var rrr="";            
    var idno=document.form2.text2.value;xmlhttp.open("get","./stationList.jsp?_idno="+idno,true);
    xmlhttp.onreadystatechange=function(){         if (xmlhttp.readyState==4)
            
            if (xmlhttp.status==200)
            {
                //alert(xmlhttp.status);
                rrr=xmlhttp.responseText;
                //alert(rrr);    
                //if(rrr=="ok") {alert("ok")  ;  else alert(rrr);
                //alert(rrr);
            } else 
            {
                alert("发生错误:"+xmlhttp.status);
            }} xmlhttp.send(null); 
    if(rrr.equals(null)){  
    alert("次站不存在"); 
    window.form2.text2.focus();
    return false;}
    }
    document.form2.submit();
    }
    </script>
    <form name="form2" method="post" action="stationshow.jsp" target=_blank>
    <tr>
    <td width="180">
    请输入或选择站名
    </td>
    <td width="227">
    <input type="text" value="" name="text2"
    style="width:220;border: 1px solid #000000;height: 19px;font-size: 13px;"
    onKeyDown="keydown()">
    </td>
    <td width="20">
    <img name="img2" src="images/choice.gif" width="20" height="20"
    border="0" style="CURSOR: hand;" onClick="javascript:doChoice(2);">
    </td>
    <td>
    <input type="button" name="sub" value="确定" onclick="javascript:check2();">
    </td>
    </tr>
    </form>
    stationList.jsp
    <%@page contentType="text/html;charset=gb2312"%>
    <%
    request.setCharacterEncoding("gb2312");
    %>
    <%@page import="java.util.*"%>
    <%@page language="java"%>
    <%@page import="sql.db_conn"%>
    <%@page import="java.sql.ResultSet"%>
    <%
        String idno=request.getParameter("_idno");
        String rrr=null;
        //out.print(rrr);
    db_conn conn = new db_conn();
    conn.ConnectDB();
    String sql = "select * from line";
    ResultSet rs = conn.stmt.executeQuery(sql);
    Vector vec = new Vector(); int column = rs.getMetaData().getColumnCount();
    rs.last();
    int row = rs.getRow();

    //int testi=0;
    for (int i = 1; i <= row; ++i) {
    rs.absolute(i);
    for (int j = 2; j <= column; ++j) {
        rs.getString(j);
    while (rs.wasNull() && j < column) {j++;rs.getString(j);}
    if (rs.wasNull()) break;
    if (i == 1) 
    {
    vec.addElement(rs.getString(j).toString());
    }

    if (i > 2) {
    if(vec.indexOf(rs.getString(j).toString())==-1) {vec.addElement(rs.getString(j).toString());}

    }
    }
    rs.next();
    }
    for (int i = 0; i < vec.size(); ++i) {
        if(idno.equals(vec.get(i))){
           rrr="输入正确";
        }
        
    }
    out.print(rrr);
    %>
    这个是我从数据库得到的数据。麻烦高手帮我看看到底是哪的错,我的rrr得到的是正确的结果,可是就是不向下执行了,拜托了
      

  3.   

    stationList.jsp 这个里面有错String sql = "select * from line"; 
    不需要你那么复杂的
    只需要String sql = "select * from line where 字段="&idno&""; 
    然后判断这个是否为空记录集
    为空返回false,否则返回true
      

  4.   

    谢谢楼上的兄弟,但是我遇到了个问题,为什么我 rrr=xmlhttp.responseText; 
    得到的rrr在他的下一个语句输出得到的就是我传回来的值,但是在send(null)后面得到是 初始化的值呢?
    我看的例子上得到的结果是一样的啊。而且验证好像只能验证2次。。多了就直接跳过验证了
      

  5.   

    而且你说我的stationList.jsp 有错误?我写的这个是从数据库里面得到不重复的字符串。因为一个路线有n个站点,还有n条路线,所以我就想了个这个方法了,不知道高手还有什么指教的没。。我新手,没有太多的经验,还向你们多学习学习
      

  6.   

    你这个stationList.jsp只做比较,只是判断改路线是否存在,所以没必要判断是否重复只要用变量对比相应的字段的值,如果存在就返回true,用是true还是false来进行判断错误提示!
      

  7.   

    我已经改过来了,这个东西太玄妙了,一样的代码会出现不同的问题,能不能帮我写一个我要的功能的简洁代码?stationList.jsp就用几个简单的数值就可以了。。我已经弄了
    好几天了,实在是智商有限。我已经给帖子加分了先谢过了^_^
      

  8.   

    这个页面其实很简单的,他使用了js数组了,然后打开模态窗口选择值时传递一个参数给模态窗口要加载哪个数组到模态窗口中
    data.js
    var busIDList=new Array();
    busIDList[0]="1";
    busIDList[1]="2";
    busIDList[2]="3";
    busIDList[3]="6";
    busIDList[4]="7";
    busIDList[5]="8";
    busIDList[6]="9";
    busIDList[7]="10";
    busIDList[8]="11";
    busIDList[9]="易初莲花1";
    busIDList[10]="易初莲花2";
    busIDList[11]="易初莲花3";
    busIDList[12]="易初莲花4";
    busIDList[13]="易初莲花5";
    busIDList[14]="大福源3";
    busIDList[15]="大福源9";var busStationList=new Array();
    busStationList[0]="安南庙";
    busStationList[1]="坝街";
    busStationList[2]="白桥";
    busStationList[3]="白塔";
    busStationList[4]="百花台";
    busStationList[5]="百货大楼";
    busStationList[6]="邦妮花园";
    busStationList[7]="宝丽金";
    busStationList[8]="北园(环绕)";
    busStationList[9]="北园";
    busStationList[10]="北门(意溪渡口)";
    busStationList[11]="北门市场";
    busStationList[12]="部队营区";
    busStationList[13]="财政局";
    busStationList[14]="昌黎路口";
    busStationList[15]="长美市场";
    busStationList[16]="潮州师范";
    busStationList[17]="潮州宾馆";
    busStationList[18]="潮州医院";
    busStationList[19]="潮州西湖";
    busStationList[20]="潮州海关";
    busStationList[21]="池湖路口";
    busStationList[22]="池湖车场";
    busStationList[23]="崇礼中学";
    busStationList[24]="大新乡";
    busStationList[25]="大道口";
    busStationList[26]="大海豚";
    busStationList[27]="大桥东";
    busStationList[28]="大福源";
    busStationList[29]="电器市场";
    busStationList[30]="电视局";
    busStationList[31]="电器城";
    busStationList[32]="东和";
    busStationList[33]="东湖住宅";
    busStationList[34]="东湖诊所";
    busStationList[35]="发展银行";
    busStationList[36]="枫溪水厂";
    busStationList[37]="枫春路口";
    busStationList[38]="枫二路口";
    busStationList[39]="枫溪电影院";
    busStationList[40]="枫溪广场";
    busStationList[41]="枫春市场(候车亭)";
    busStationList[42]="枫溪市尾";
    busStationList[43]="冯厝";
    busStationList[44]="凤山";
    busStationList[45]="凤凰塔";
    busStationList[46]="凤塘中学";
    busStationList[47]="凤塘镇政府";
    busStationList[48]="浮岗浮岗桥";
    busStationList[49]="福安路";
    busStationList[50]="富丽学校";
    busStationList[51]="富丽公园";
    busStationList[52]="高田";
    busStationList[53]="宫前市场";
    busStationList[54]="沟头";
    busStationList[55]="辜厝巷";
    busStationList[56]="古板头";
    busStationList[57]="古巷镇政府";
    busStationList[58]="古板头路口";
    busStationList[59]="国税局";
    busStationList[60]="韩师宿舍新区(卧石路口)";
    busStationList[61]="韩师东门";
    busStationList[62]="韩师宿舍区";
    busStationList[63]="韩师东大门";
    busStationList[64]="韩师";
    busStationList[65]="韩山师院";
    busStationList[66]="韩江瓷砖厂";
    busStationList[67]="韩师卧石路口";
    busStationList[68]="河头中心医院";
    busStationList[69]="河头";
    busStationList[70]="虹桥";
    busStationList[71]="湖尾";
    busStationList[72]="怀德市场";
    busStationList[73]="辉煌家俱城";
    busStationList[74]="慧如公园";
    busStationList[75]="火车站";
    busStationList[76]="吉怡";
    busStationList[77]="吉春";
    busStationList[78]="技工学校";
    busStationList[79]="佳运公司";
    busStationList[80]="加油站";
    busStationList[81]="建设大厦";
    busStationList[82]="交通局";
    busStationList[83]="戒毒所";
    busStationList[84]="金信大厦";
    busStationList[85]="金安陶瓷";
    busStationList[86]="金曼大酒店";
    busStationList[87]="金丽花园对面";
    busStationList[88]="金钟商场";
    busStationList[89]="开元路口";
    busStationList[90]="开发区管委会";
    busStationList[91]="凯安娜";
    busStationList[92]="康乐园";
    busStationList[93]="奎元楼";
    busStationList[94]="奎元住宅区";
    busStationList[95]="奎元广场";
    busStationList[96]="来宜小学";
    busStationList[97]="利生加油站";
    busStationList[98]="莲云";
    busStationList[99]="莲云学校";
    busStationList[100]="磷溪镇";
    busStationList[101]="绿榕路服装市场";
    busStationList[102]="绿榕市场";
    busStationList[103]="麻仓";
    busStationList[104]="南怡园";
    busStationList[105]="南陇";
    busStationList[106]="南桥市场";
    busStationList[107]="农业银行";
    busStationList[108]="欧陆家俱城";
    busStationList[109]="前进路口";
    busStationList[110]="桥东市场";
    busStationList[111]="桥东医院";
    busStationList[112]="侨苑(候车亭)";
    busStationList[113]="侨光中学";
    busStationList[114]="区公安局";
    busStationList[115]="区政府";
    busStationList[116]="趣春路口";
    busStationList[117]="趣春花园";
    busStationList[118]="商贸城";
    busStationList[119]="社保局";
    busStationList[120]="师范学校";
    busStationList[121]="实验学校";
    busStationList[122]="市政府";
    busStationList[123]="市轧钢厂";
    busStationList[124]="收费站";
    busStationList[125]="书图";
    busStationList[126]="双筒";
    busStationList[127]="塘边乡";
    busStationList[128]="塘边";
    busStationList[129]="糖厂";
    busStationList[130]="陶校";
    busStationList[131]="腾瑞万绿花园";
    busStationList[132]="体育馆";
    busStationList[133]="田龙";
    busStationList[134]="田中路口";
    busStationList[135]="卫生学校";
    busStationList[136]="卧石路口";
    busStationList[137]="乌洋";
    busStationList[138]="西荣路口";
    busStationList[139]="西园路";
    busStationList[140]="西新路口";
    busStationList[141]="下津";
    busStationList[142]="湘桥区政府";
    busStationList[143]="祥光陶瓷";
    busStationList[144]="巷尾";
    busStationList[145]="新桥路(开元路口)";
    busStationList[146]="新安街路口";
    busStationList[147]="新乡加油站";
    busStationList[148]="新摩市";
    busStationList[149]="新嘉华庭";
    busStationList[150]="新桥市场";
    busStationList[151]="信怡园";
    busStationList[152]="星光农科所";
    busStationList[153]="雄英大厦";
    busStationList[154]="一八八医院";
    busStationList[155]="易初莲花";
    busStationList[156]="意溪市场";
    busStationList[157]="义井巷";
    busStationList[158]="英凤";
    busStationList[159]="英塘";
    busStationList[160]="永泰北路";
    busStationList[161]="永护路口";
    busStationList[162]="玉窖";
    busStationList[163]="玉兰园";
    busStationList[164]="粤潮市场";
    busStationList[165]="粤潮花园(候车亭)";
    busStationList[166]="悦园";
    busStationList[167]="云光中学";
    busStationList[168]="云步";
    busStationList[169]="詹厝";
    busStationList[170]="镇政府";
    busStationList[171]="智勇中学";
    busStationList[172]="中心广场";
    busStationList[173]="中心医院";
    busStationList[174]="中国银行";
    busStationList[175]="中津";
    busStationList[176]="中心广场南";
    busStationList[177]="卓府埕";
      

  9.   

    各位高手们,我初步实现了,但是有个恨严重的bug,那就第一次输入一个值,不做验证,向下运行。。第二次才进行验证,谁能告诉我怎么回事。。不过还是恨高兴的,,哈哈哈哈哈哈
      

  10.   

    不明白什么意思,如果 第一次不做验证的话,第二次才做验证,那应该是你的业务逻辑有问题了或者就是你的AJAX请求还没有返回数据,你就已经执行下一次的请求,而此时返回的是第一次的请求。。
      

  11.   

    17楼的兄弟,我是刚刚看了点,还是chinmo告诉我的,我的部分代码在上面,能不能告诉我,错误在哪??理顺了下,还是没
    想明白
      

  12.   

    代码好长。。
    我也只是简单的看了一下。。
    貌似是这里         if (xmlhttp.readyState==4) 
             
            if (xmlhttp.status==200) 
            { 
                //alert(xmlhttp.status); 
                rrr=xmlhttp.responseText; 
                //alert(rrr);     
                //if(rrr=="ok") {alert("ok")  ;  else alert(rrr); 
                //alert(rrr); 
            } else  
            { 
                alert("发生错误:"+xmlhttp.status); 
            }
    也不知道是你贴错了,还是本身就这样写的,这两个状态值应该同时获取if (xmlhttp.readyState==4 && xmlhttp.status==200)
      

  13.   

    貌似不可以-_-!!!,我正在尝试看用post行不行,麻烦给个建议
      

  14.   

    function check1()
    {
    if(document.form1.text1.value=="")
    {
    window.alert("站点不能为空!");
    window.form1.text1.focus();
    return false;
    }
    if(document.form1.text1.value!="")
    {
    var xmlhttp;
    try{
        xmlhttp=new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e){
                    try{
                            xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
                        } catch(e){
                                        try{
                                                xmlhttp=new XMLHttpRequest();
                                            }catch(e){}
                                }
                }
                
    var rrr="";            
    var idno=document.form1.text1.value;
    xmlhttp.open("get","./IDlist.jsp?_idno="+idno,true);
    xmlhttp.onreadystatechange=function(){      
            if (xmlhttp.readyState==4&&xmlhttp.status==200)
            {
                //alert(xmlhttp.status);
                rrr=xmlhttp.responseText.indexOf("1"); 
               // alert(rrr);           
                
            } else 
            {
                alert("发生错误:"+xmlhttp.status);
            }} xmlhttp.send(null);
    if(rrr==-1){alert("此路线不存在");
    window.form1.text1.focus();
    return false;}}
    document.form1.submit();
    }
    上面就是我的真个验证的function(),其中rrr=xmlhttp.responseText.indexOf("1"); 是我要得到一个标志位设置的
    看看有没有什么问题
      

  15.   


    stationList.jsp这个文件只需要这么简单就可以,你只是比较存在不存在,不必要那么复杂
    <%
    db_conn conn = new db_conn(); 
    conn.ConnectDB(); 
    String idno=request.getParameter("_idno"); 
    sql="select  * from table where 字段="&idno
    ResultSet rs = conn.stmt.executeQuery(sql); 
    Vector vec = new Vector(); rs.open sql,conn,1,1
    if not rs.bof then
    out.print true
    else
    out.print false
    end if %>
    不知道我写的JSP对不对,哎,不玩这个东西都忘光了,大致就只需要这么多,如果格式不对的地方你改下就可以了
      

  16.   

    <%@page contentType="text/html;charset=gb2312" import="java.sql.ResultSet" import="sql.db_conn" language="java"%>
    <%request.setCharacterEncoding("gb2312");
        String flag=""; 
        String idno=request.getParameter("_idno").toString();
        int id=Integer.parseInt(idno);
    db_conn conn = new db_conn();
    conn.ConnectDB();
    String sql = "select id from line where id="+id;
    ResultSet rs = conn.stmt.executeQuery(sql); 
    if(rs.next()){
        if(!rs.equals(null)){
        flag="1";
        }
        }
        out.print(flag);          
    %>
    我已经按照你的建议做了,就是这么写的。很是头疼现在
      

  17.   

    xmlhttp.open("get","./stationList.jsp?_idno="+idno,true); 
    xmlhttp.onreadystatechange=function(){          if (xmlhttp.readyState==4) 
             
            if (xmlhttp.status==200) 
            { 
                //alert(xmlhttp.status); 
                rrr=xmlhttp.responseText; 
                //alert(rrr);     
                //if(rrr=="ok") {alert("ok")  ;  else alert(rrr); 
                //alert(rrr); 
            } else  
            { 
                alert("发生错误:"+xmlhttp.status); 
            } }  xmlhttp.send(null);  
    if(rrr.equals(null)){   
    alert("次站不存在");  
    window.form2.text2.focus(); 
    return false;} 

    document.form2.submit(); 

    这部分也可以简单点:function getName()
    {
            var rrr="";             
            var idno=document.form2.text2.value; 
        xmlhttp.open("get","./stationList.jsp?_idno="+idno);
        xmlhttp.onreadystatechange = function(){
            if(xmlhttp.readyState==4){
                rrr=unescape(xmlhttp.responseText); }
        }
        xmlhttp.setRequestHeader("If-Modified-Since","0");
        xmlhttp.send(null);
    if(rrr==false){   
    alert("次站不存在");  
    window.form2.text2.focus(); 
    return false;} 

    document.form2.submit(); 

    }
      

  18.   

    function getName() 
    然后你按查找时出发这个函数
      

  19.   

    还是不行,按照你给的方法,根本就不验证了-_-!!!呵呵,很玄妙的东西,继续研究ing
      

  20.   

    我做了下测试,就是在send(null)后面alert(rrr),第一次运行时,跳过了xmlhttp.onreadystatechange = function()
    先执行的alert(),然后紧接着再执行的xmlhttp.onreadystatechange = function()这样第一次就不能验证就是合理的了,但是为什么呢??
      

  21.   

    汗!那我不知道你怎么写的。该方法我一直都使用!
    只不过是用在ASP中,但是JS不分ASP还是JSP,要分也只是后台那部分分而且你给的那网站中,他也是使用着通过按钮来触发这样一个函数的
      

  22.   

    我也汗一个,找到错误还好,现在关键就是错误根本找不到,而且还是部分错误-_-!!!我也是通过按钮做的,而且我给的网站做的好像和showbo说的一样.非要给他做出来,就不信了
      

  23.   

    JS那部分和你调用函数那部分最好都发出来
    然后大概的说下stationList.jsp这个返回的值是什么做什么用的就行了,不要发stationList.jsp这个的代码了
    这个就是一个返回值的没什么好看的
      

  24.   

    index.jsp
    function check1() 

    if(document.form1.text1.value=="") 

    window.alert("站点不能为空!"); 
    window.form1.text1.focus(); 
    return false; 

    if(document.form1.text1.value!="") 

    var xmlhttp; 
    try{ 
        xmlhttp=new ActiveXObject('Msxml2.XMLHTTP'); 
    } catch(e){ 
                    try{ 
                            xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); 
                        } catch(e){ 
                                        try{ 
                                                xmlhttp=new XMLHttpRequest(); 
                                            }catch(e){} 
                                } 
                } 
                 
    var rrr="";             
    var idno=document.form1.text1.value; 
    xmlhttp.open("get","./IDlist.jsp?_idno="+idno,true); 
    xmlhttp.onreadystatechange=function(){       
            if (xmlhttp.readyState==4&&xmlhttp.status==200) 
            { 
                //alert(xmlhttp.status); 
                rrr=xmlhttp.responseText.indexOf("1");  
               // alert(rrr);            
                 
            } else  
            { 
                alert("发生错误:"+xmlhttp.status); 
            } }  xmlhttp.send(null); 
    if(rrr==-1){alert("此路线不存在"); 
    window.form1.text1.focus(); 
    return false;} } 
    document.form1.submit(); 

    function check1() 

    if(document.form1.text1.value=="") 

    window.alert("站点不能为空!"); 
    window.form1.text1.focus(); 
    return false; 

    if(document.form1.text1.value!="") 

    var xmlhttp; 
    try{ 
        xmlhttp=new ActiveXObject('Msxml2.XMLHTTP'); 
    } catch(e){ 
                    try{ 
                            xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); 
                        } catch(e){ 
                                        try{ 
                                                xmlhttp=new XMLHttpRequest(); 
                                            }catch(e){} 
                                } 
                } 
                 
    var rrr="";             
    var idno=document.form1.text1.value; 
    xmlhttp.open("get","./IDlist.jsp?_idno="+idno,true); 
    xmlhttp.onreadystatechange=function(){       
            if (xmlhttp.readyState==4&&xmlhttp.status==200) 
            { 
                //alert(xmlhttp.status); 
                rrr=xmlhttp.responseText.indexOf("1");  
               // alert(rrr);            
                 
            } else  
            { 
                alert("发生错误:"+xmlhttp.status); 
            } }  xmlhttp.send(null); 
    if(rrr==-1){alert("此路线不存在"); 
    window.form1.text1.focus(); 
    return false;} } 
    document.form1.submit(); 

    <form name="form1" method="post" action="lineshow.jsp"target="_blank">
    <input type="button" name="sub" value="确定" onclick=check1()>
    我现在连接的是IDlist.jsp其实一样的,这个页面中得到idno,然后和数据库比较,存在就返回一个String s ="1";不存在就返回s="";大概就是这样的了
      

  25.   

    我又坐了个测试,发现if(xmlhttp.readyState<4)alert("正在检测");第一次执行的时候if()语句还没有执行完就向下执行了,也就是说当xmlhttp.readyState=1后执行了if(rrr=="1"),然后再回去执行if(xmlhttp.readyState<4)alert("正在检测");没遇到过这样的问题......真正的糊涂了-_-!!!
      

  26.   

    xmlhttp.onreadystatechange=function(){        
            if (xmlhttp.readyState==4&&xmlhttp.status==200)  
            {  
                //alert(xmlhttp.status);  
                rrr=xmlhttp.responseText.indexOf("1");   
               // alert(rrr);             
                  
            } else   
            {  
                alert("发生错误:"+xmlhttp.status);  
            }  }   你这部分改了,改成我那样的
      

  27.   

    xmlhttp.onreadystatechange应该是你这个的问题
      

  28.   

    function check1()
    {
    if(document.form1.text1.value=="")
    {
    window.alert("站点不能为空!");
    window.form1.text1.focus();
    return false;
    }
    if(document.form1.text1.value!="")
    {
    var xmlhttp;
    try{
        xmlhttp=new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e){
                    try{
                            xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
                        } catch(e){
                                        try{
                                                xmlhttp=new XMLHttpRequest();
                                            }catch(e){}
                                }
                }
                
    var rrr="";            
    var idno=document.form1.text1.value;
    xmlhttp.open("get","./IDlist.jsp?_idno="+idno,true); 
    xmlhttp.send(null);
    xmlhttp.onreadystatechange=function(){
            
            if (xmlhttp.readyState==4&&xmlhttp.status==200)
            {
                rrr=xmlhttp.responseText.indexOf("1");
    if(rrr==-1){alert("此路线不存在");
    window.form1.text1.focus();
    return false;}
    document.form1.submit();
    //if(rrr==""){return false;}
            } else 
            {
                alert("发生错误:"+xmlhttp.status);
            }} 
    }
    }
    这个是正确的,高手解决的,比较下,一会散分了
      

  29.   

    这部分
    xmlhttp.open("get","./IDlist.jsp?_idno="+idno,true);  
    xmlhttp.send(null); 
    xmlhttp.onreadystatechange=function(){ 
             
            if (xmlhttp.readyState==4&&xmlhttp.status==200) 
            { 
                rrr=xmlhttp.responseText.indexOf("1"); 
    if(rrr==-1){alert("此路线不存在"); 
    window.form1.text1.focus(); 
    return false;} 
    document.form1.submit(); 
    //if(rrr==""){return false;} 
            } else  
            { 
                alert("发生错误:"+xmlhttp.status); 
            } }  
    改成:
    xmlhttp.open("get","./IDlist.jsp?_idno="+idno,true); 
    xmlhttp.onreadystatechange = function(){
            if(xmlhttp.readyState==4){
            var rrr=xmlhttp.responseText.indexOf("1"); 
    if(rrr==-1){alert("此路线不存在"); 
    window.form1.text1.focus(); 
    return false;} 
    document.form1.submit(); 
            }
        }
        xmlhttp.setRequestHeader("If-Modified-Since","0");
        xmlhttp.send(null);
      

  30.   

    你的错误就错在xmlhttp.onreadystatechange 这个里