<--
  var jkr_bh="";
  var count_bh="3";
  var navigate_id="";
 //显示操作栏
 function getJkr(zu_bh){
    var url="/jkhtdymb/getJkr.do?zu_bh="+zu_bh;
 
    if(window.XMLHttpRequest){
               req=new XMLHttpRequest();
               sendforeignexchange(); 
             }
               else if(window.ActiveXObject){
              req=new ActiveXObject("MIcrosoft.XMLHttp");
                }
     if(req){
      req.open("POST",url,true);
     req.onreadystatechange=callback1;
     req.send(null);
    }
   }
    function callback1(){
    if(req.readyState==4){
     if(req.status==200){
  
      var jkr = req.responseText;
     //alert(jkr);
     showJkr(jkr);
      
     }
     else{ 
     
     }
    }
    }    function showJkr(jkr){
     //alert(jkr);
       var div=document.getElementById("jkr");
       div.style.display="block";
       var inner="<table class='top'>";
       var jkrs = jkr.split("|");
       //alert(jkrs[0]+jkrs[1]);
       var jkr_bhs=jkrs[0].split(",");
       var jkr_mc=jkrs[1].split(",");
        for(var i=0;i<jkr_bhs.length;i++){
        var href="<a href='javascript:setJkr("+jkr_bhs[i]+");' >";
        alert("<a href='javascript:setJkr("+jkr_bhs[i]+");' >");
        inner+="<tr><td id='"+jkr_bhs[i]+"'>"+href+jkr_mc[i]+"</a></td></tr>";
     }
div.innerHTML=inner+"</table>"
}
  function setJkr(jkr){
alert(jkr);
}
tree<td  class="top"><div class="dtree"> <p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>
    <script language="javascript">
     var d = new dTree('d');
        //alert("tree");
      
    d.add(3,-1,'全部','javascript:count(3);');
    <%
       String sql = "(select xz_bh,xz_mc,xz_gsx from xz) union (select cun_bh,cun_mc,cun_gsxz from cun) union(select zu_bh,zu_mc,zu_sscun from zu)";
       Connection conn = null;
       String jsFunction="";
       try{
            conn = getConnection();
            ResultSet rst = executeQuery(conn,sql);
            while(rst.next()){
             String bh=rst.getString("xz_bh");
             if(bh.length()==8){
             jsFunction="\""+"javascript:getJkr('"+bh+"');\"";
             }else if(bh.length()==6){
             jsFunction="\""+"javascript:count('"+bh+"');\"";
             }else if(bh.length()==4){
             jsFunction="\""+"javascript:count('"+bh+"');\"";
             }
         %>
         var bh=<%=rst.getString("xz_bh")%>+"";
         var gsx=<%=rst.getString("xz_gsx")%>+"";
        
         var jsFunction=<%=jsFunction%>+"";
        
         d.add(bh,gsx,'<%=Transfer.charset2gbk(rst.getString("xz_mc"))%>',jsFunction);
           
        <%
   }
   rst.close();
   rst = null;
   conn.close();
   conn = null;
}catch(Exception ex){
   out.println(ex.toString());
}
%> 
      
      document.write(d);
   
    </script>
能够从数据库中取出数据!
但是一点人名就是setJkr的时候,就报错!
谁能帮忙看看!

解决方案 »

  1.   

    代码没贴全吧?
    怎么上边这么一大段没用script括起来?
      

  2.   

    <%@ page language="java" contentType="text/html; charset=GBK"
        pageEncoding="GBK"%><%@ page import = "java.sql.*"%>
    <%@page import="util.charset2gbk.Transfer"%>
    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    <%@taglib uri="/tags/struts-bean" prefix="bean"%>
    <%@taglib uri="/tags/struts-html" prefix="html"%>
    <%@taglib uri="/tags/struts-logic" prefix="logic"%>
    <head>
    <title>贷款系统</title>
       
    <link rel="StyleSheet" href="dtree.css" type="text/css" />
    <link rel="StyleSheet" href="../css/main.css" type="text/css" />
    <script type="text/javascript" src="dtree.js"></script>
        <script type="text/javascript" src="../js/getJkr.js"></script><script language="javascript">
    <--
      var jkr_bh="";
      var count_bh="3";
      var navigate_id="";
     //显示操作栏
     function getJkr(zu_bh){
        var url="/jkhtdymb/getJkr.do?zu_bh="+zu_bh;
     
        if(window.XMLHttpRequest){
                   req=new XMLHttpRequest();
                   sendforeignexchange(); 
                 }
                   else if(window.ActiveXObject){
                  req=new ActiveXObject("MIcrosoft.XMLHttp");
                    }
         if(req){
          req.open("POST",url,true);
         req.onreadystatechange=callback1;
         req.send(null);
        }
       }
        function callback1(){
        if(req.readyState==4){
         if(req.status==200){
      
          var jkr = req.responseText;
         //alert(jkr);
         showJkr(jkr);
          
         }
         else{ 
         
         }
        }
        }    function showJkr(jkr){
         //alert(jkr);
           var div=document.getElementById("jkr");
           div.style.display="block";
           var inner="<table class='top'>";
           var jkrs = jkr.split("|");
           //alert(jkrs[0]+jkrs[1]);
           var jkr_bhs=jkrs[0].split(",");
           var jkr_mc=jkrs[1].split(",");
            for(var i=0;i<jkr_bhs.length;i++){
            var href="<a href='#' onclick='setJkr("+jkr_bhs[i]+")'>";
            alert("<a href='javascript:setJkr("+jkr_bhs[i]+");'>");
            inner+="<tr><td id='"+jkr_bhs[i]+"'>"+href+jkr_mc[i]+"</a></td></tr>";
         }
    div.innerHTML=inner+"</table>"
    }
      function setJkr(jkr){
    var td= document.getElementById(jkr);
    td.className="color";
    if(jkr_bh==""){

    }else if(jkr_bh==jkr){
     td.className="color";
    }else{
    var td_last= document.getElementById(jkr_bh);
    td_last.className="nocolor";
    }

    jkr_bh=jkr;
    showNavigation();
    }
    function showNavigation(){
    var navigate=document.getElementById("navigate");
    navigate.style.display="block";
    var inner="<table class='top'>";
    var strs=new Array("户主信息","自然情况","相关照片","家庭成员","家庭收入","收入照片","资产情况",
            "资产照片","信用记录","保险情况","保险照片","评价情况","扣分情况","总分计算","借款内容","收贷收息");
    for(var i=0;i<strs.length;i++){
    //jkr_bh=setJkr(jkr);
    inner+="<tr><td id='"+strs[i]+"'><a href='#' onclick=\"setNavigate('"+jkr_bh+"!"+strs[i]+"')\">"+strs[i]+"</a></td></tr>";

    }
    navigate.innerHTML=inner+"</table>";
      }
    //设定人编号   function setNavigate(navi){
    alert(navi);
    var strs = navi.split("!");
    var navi_tag = strs[1];
            var td= document.getElementById(navi_tag);
    td.className="color";
    if(navigate_id==""){

    }else if(navigate_id==navi_tag){
     td.className="color";
    }else{
    var td_last= document.getElementById(navigate_id);
    td_last.className="nocolor";
    }
    navigate_id=navi_tag;
    getJkrInfo(navi);
    }
      !-->          
    </script>
    </head><body >
    <table width="800" border="0" align="center">
    <tr >
    <td width="80">起始日期:</td>
    <td width="80"><input type="text" id="startDate"name="startDate"value=""class="inputBox" /></td>
    <td width="80">截止日期:</td>
    <td width="80"><input type="text" id="endDate"name="endDate"value=""class="inputBox" /></td>
    <td width="120"><input type="button" value="统计"onclick="count(0)"/><td>
    <td width="120">客户名称/简码:</td>
    <td width="80"><input type="text" id="cust_name"name="cust_name"value=""class="inputBox" onchange="disablePre()"/></td>
    <td width="80">身份证号:</td>
    <td width="80"><input type="text" id="id_no"name="id_no"value=""class="sfzBox" onchange="disablePre()"/> </td>
    <td width="120"><input type="button" value="查询" onclick="searchPerson()"/><td>
    </tr></table>
    <table width="800" border="0" align="center" >
    <tr><td  class="top"><div class="dtree"> <p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>
        <script language="javascript">
         var d = new dTree('d');
            //alert("tree");
          
        d.add(3,-1,'全部','javascript:count(3);');
        <%
           String sql = "(select xz_bh,xz_mc,xz_gsx from xz) union (select cun_bh,cun_mc,cun_gsxz from cun) union(select zu_bh,zu_mc,zu_sscun from zu)";
           Connection conn = null;
           String jsFunction="";
           try{
                conn = getConnection();
                ResultSet rst = executeQuery(conn,sql);
                while(rst.next()){
                 String bh=rst.getString("xz_bh");
                 if(bh.length()==8){
                 //jsFunction="onclick=getJkr('"+bh+"')";
                 jsFunction="\"javascript:getJkr('"+bh+"');\"";
                 }else if(bh.length()==6){
                 jsFunction="\"javascript:count('"+bh+"');\"";
                 }else if(bh.length()==4){
                 jsFunction="\"javascript:count('"+bh+"');\"";
                 }
             %>
             var bh=<%=rst.getString("xz_bh")%>+"";
             var gsx=<%=rst.getString("xz_gsx")%>+"";
            
             var jsFunction=<%=jsFunction%>+"";
            
             d.add(bh,gsx,'<%=Transfer.charset2gbk(rst.getString("xz_mc"))%>',jsFunction);
               
            <%
       }
       rst.close();
       rst = null;
       conn.close();
       conn = null;
    }catch(Exception ex){
       out.println(ex.toString());
    }
    %> 
          
          document.write(d);
       
        </script>
    </div></td>
    <td width="80" ><div id="jkr"></div></td>
    <td width="80"><div id="navigate"></div></td>
    <td width="400"><div id="info">
    <table >
    <tbody id="tbody1"></tbody>
    <tbody id="tbody2"></tbody>
    <tbody id="tbody3"></tbody>
    <tbody id="tbody4"></tbody>
    <tbody id="tbody5"></tbody>
    <tbody id="tbody6"></tbody>
    <tbody id="tbody7"></tbody>
    <tbody id="tbody8"></tbody>
    <tbody id="tbody9"></tbody></table>
    </div></td></tr>
    </table></body></html>
    <%! public  Connection getConnection() throws Exception {
       String driverName="com.mysql.jdbc.Driver";
       String url="jdbc:mysql://localhost:3306/jkhtdymb?user=root&password=&useUnicode=true&characterEncoding=latin1";
       Driver driver = (Driver) Class.forName(driverName).newInstance();
       Connection conn = DriverManager.getConnection(url);
       return conn;

        public ResultSet executeQuery(Connection conn,String sql) throws SQLException {
       ResultSet rs = null;
       Statement stmt = null;
       try {
        stmt = conn.createStatement();
        rs = stmt.executeQuery(sql);
       } catch (SQLException ex) {
        System.out.println("查询异常:" + ex.getMessage());
       }
       return rs;
    }
     %>整个js还很长!
    报错就是setJkr的错!
      

  3.   

    你用的ie吧,下个火狐,安个firedug测试吧.ie上看不出来哪个地方错了.
      

  4.   

    试试
    setJkr('"+jkr_bhs[i]+"')

    setJkr(jkr_bhs[i])
      

  5.   

    火狐会报错,有错误控制台,虽然不准,页面可能打不开,但错误一般能报出来,
    我有错了先用火狐测,不行就放alert定位,从头放到尾肯定可以定位错误在哪里出现
      

  6.   

    没看代码,个人感觉
    <!--//-->
    应该这样写 第一行第一字符就是这个意思吧
      

  7.   

    俺在4楼的回答有误。第一种改法最好这样:
    var href=" <a href=\"#\" onclick=\"setJkr('"+jkr_bhs[i]+"')\">"; 
    如果jkr_bhs[i] = "abc"
    那么document之后就是:
    <a href="#" onclick="setJkr('abc')">如果jkr_bhs[i]是全局变量,第二种方法在document之后就是:
    <a href='#' onclick='setJkr(jkr_bhs[i])'>
      

  8.   

    谢谢大家,问题解决了!用alert无法定位,因为根本进不了程序。
    解决方法是最笨的!
    我把500多行的js都拿掉,然后按方法往回添加,最后定位到一个方法写的有问题!
      

  9.   

    你传进的参数skr与定义的参数不匹配,你自己仔细的看看