我把javascript用firebug调试过了,可以运行正常
但是我去掉调试却发现少了些信心  请问各位大虾 这是为什么啊?  这个问题困扰我好久了 望各位多多帮忙,先谢啦。 

解决方案 »

  1.   

    不够详细。
     以前做NTKO遇到过类似问题。
      数据没读入完成就执行了JS程序。 所以不行。  LZ是不是异步的?
      

  2.   

    我是用的dwr框架 
    win.onload = function () {
       var userId ='<s:property value='%{#session.user.userId}'/>';
       var parentId ='<s:property value="parent.parentId" />';
       parentList(userId, parentId);
    }function parentList(userId, parentId) {
    parentSelect.findParentByUserId(userId, function(data) {
    parents(parentId, data);
    });
    }
    function parents(parentId, data) {
    DWRUtil.removeAllOptions("parent");
    // data.sort(function(e1, e2) {
    // return e1.parentId - e2.parentId;
    // });
    var list = new Array();
    var option1 = {id:-1,value:"Select Teacher"};
    list.push(option1);
    for (var i = 0; i < data.length; i++) {
    var option = {id:data[i].parentId,
    value:" Name: " + data[i].firstName + " " + data[i].lastName + " || Username: " + data[i].user.userName
    };
    list.push(option);
    }
    DWRUtil.addOptions("parent", list, "id", "value");
    if (data.length == 1)
    return;
    DWRUtil.setValue("parentCount", data.length);
    if (parentId != "") {
    DWRUtil.setValue("parent", parentId);
    classList();
    }
    }
    function classList() {
    var teacherId = DWRUtil.getValue("parent");
    var schoolId;
    schoolId = DWRUtil.getValue("schools");
    if (schoolId == "" || schoolId == null) {
    schoolId = DWRUtil.getValue("schoolId");
    }
    classSelect.findClassListByTeacherIdAndSchoolId(teacherId, schoolId, function (data) {
    classInfo(schoolId, data);
    });
    }function classInfo(schoolId, data) {
    var cellfuncs = [
    function(data) {
    return data.name;
    },
    function(data) {
    if (data.grade == 1) {
    return "Grade 1";
    }
    if (data.grade == 2) {
    return "Grade 2";
    }
    if (data.grade == 3) {
    return "Grade 3";
    }
    if (data.grade == 4) {
    return "Grade 4";
    }
    if (data.grade == 5) {
    return "Grade 5";
    }
    if (data.grade == 6) {
    return "Grade 6";
    }
    if (data.grade == 7) {
    return "Grade 7";
    }
    if (data.grade == 8) {
    return "Grade 8";
    }
    if (data.grade == 9) {
    return "Grade 9";
    }
    if (data.grade == 10) {
    return "Grade 10";
    }
    },
    function(data) {
    var id = data.classId;
    var div = doc.createElement("div");
    var modify = doc.createElement("input");
    modify.type = "button";
    modify.value = "Edit Class";
    modify.onclick = function() {
    location.href = "UpdateSchoolClass!showModifyClass.action?classId=" + id + "&schoolId=" + schoolId;
    } var del = doc.createElement("input");
    del.type = "submit";
    del.value = "Remove Class";
    del.onclick = function() {
    return isnDelete(id);
    }; var image = doc.createElement("input");
    image.height = "15";
    image.type = "image";
    image.src = '<%=path +"/img/ruby_go.png"%>';
    image.setAttribute("height", "15"); div.appendChild(image);
    div.appendChild(modify);
    div.appendChild(del); return div;
    }
    ];
    DWRUtil.removeAllRows('tabId');
    DWRUtil.addRows('tabId', data, cellfuncs, {
    // rowCreator:function(options) {
    rowCreator:function() {
    var row = doc.createElement("tr");
    return row;
    },
    // cellCreator:function(options) {
    cellCreator:function() {
    var td = doc.createElement("td");
    return td;
    }
    });
    }
      

  3.   

    当  var parentId ='<s:property value="parent.parentId" />';
    有值时我是希望给parent(这里代表老师)的下拉列表选定值和显示这个老师下面的班级(调用classList)
    if (parentId != "") {
            DWRUtil.setValue("parent", parentId);
            classList();
        }当我在用firebug调试页面是可以看到掉用了classList() (构建了表里面的东东)但我直接运行却没有看到,上面我还少复制了<%
    String path = request.getContextPath();
    %>   请大家帮帮忙哈
      

  4.   

    ?????<%@ page contentType="text/html; charset=UTF-8" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <html>
    <head>
    <title>Britannica SmartMath - School Management</title>
    </head>
    <body>
    <%
    String path = request.getContextPath();
    %>
    <script type="text/javascript" language="javascript" charset="UTF-8">
    var win = window;
    var doc = document;
    win.onload = function () {
    var userId =<s:property value="%{#session.user.userId}" />;
    var userType =<s:property value="%{#session.user.userType}" />;
    var teacherId = '<s:property value="parent.parentId" />';
    var schoolId = '<s:property value="schools" />';
    if (userType == 5) {
    schoolByDistrictList(userId, schoolId, teacherId);
    } else {
    schoolSelect.findSchoolByUserId(userId, schoolValue);
    teacherList(userId, teacherId);
    }
    var list1 = new Array();
    list1.push(
    {id:1,value:'Grade 1'},
    {id:2,value:'Grade 2'},
    {id:3,value:'Grade 3'},
    {id:4,value:'Grade 4'},
    {id:5,value:'Grade 5'},
    {id:6,value:'Grade 6'},
    {id:7,value:'Grade 7'},
    {id:8,value:'Grade 8'},
    {id:9,value:'Grade 9'},
    {id:10,value:'Grade 10'});
    DWRUtil.addOptions("grade", list1, "id", "value");
    } function teacherByDistrictLists() {
    var teacherId = DWRUtil.getValue("parent");
    var userId =${session.user.userId};
    teacherList(userId, teacherId);
    } function schoolByDistrictList(userId, schoolId, teacherId) {
    schoolSelect.findSchoolByDistrict(userId, function (data) {
    schoolByDistrict(data, schoolId, teacherId, userId);
    });
    }
    function schoolByDistrict(data, schoolId, teacherId, userId) {
    DWRUtil.removeAllOptions("schools");
    var list = new Array();
    list.push({id:-1,name:"Select School Name"});
    DWRUtil.addOptions("schools", list, "id", "name");
    var count = data.length;
    if (count != 0) {
    DWRUtil.addOptions("schools", data, "schoolId", "schoolName");
    }
    if (schoolId != "") {
    DWRUtil.setValue("schools", schoolId);
    }
    if (teacherId != "") {
    teacherList(userId, teacherId);
    }
    }
    function teacherList(userId, teacherId) {
    parentSelect.findParentByUserId(userId, function(data) {
    teachers(teacherId, data);
    });
    }
    function teachers(teacherId, data) {
    DWRUtil.removeAllOptions("parent");
    // data.sort(function(e1, e2) {
    // return e1.parentId - e2.parentId;
    // });
    var list = new Array();
    var option1 = {id:-1,value:"Select Teacher"};
    list.push(option1);
    var teacherCount = data.length;
    if (teacherCount != 0) {
    for (var i = 0; i < data.length; i++) {
    var option = {id:data[i].parentId,
    value:" Name: " + data[i].firstName + " " + data[i].lastName + " || Username: " + data[i].user.userName
    };
    list.push(option);
    }
    }
    DWRUtil.addOptions("parent", list, "id", "value");
    DWRUtil.setValue("teacherCount", teacherCount);
    if (teacherId != "") {
    DWRUtil.setValue("parent", teacherId);
    classList();
    }
    }
    function classList() {
    var teacherId = DWRUtil.getValue("parent");
    var schoolId = DWRUtil.getValue("schools");
    if (schoolId == "" || schoolId == null) {
    schoolId = DWRUtil.getValue("schoolId");
    }
    classSelect.findClassListByTeacherIdAndSchoolId(teacherId, schoolId, function (data) {
    DWRUtil.removeAllRows('tabId');
    var count = data.length;
    if (count != 0) {
    classInfo(schoolId, data);
    }
    });
    }
    //   var hre =win.location.href;
    // function enLink() {
    // hre = "SwitchLang!SwitchLanguage.action?request_locale=en_US";
    // }
    // function zhLink() {
    // hre = "SwitchLang!SwitchLanguage.action?request_locale=zh_TW";
    // }
    function classInfo(schoolId, data) {
    var cellfuncs = [
    function(data) {
    return data.name;
    },
    function(data) {
    if (data.grade == 1) {
    return "Grade 1";
    }
    if (data.grade == 2) {
    return "Grade 2";
    }
    if (data.grade == 3) {
    return "Grade 3";
    }
    if (data.grade == 4) {
    return "Grade 4";
    }
    if (data.grade == 5) {
    return "Grade 5";
    }
    if (data.grade == 6) {
    return "Grade 6";
    }
    if (data.grade == 7) {
    return "Grade 7";
    }
    if (data.grade == 8) {
    return "Grade 8";
    }
    if (data.grade == 9) {
    return "Grade 9";
    }
    if (data.grade == 10) {
    return "Grade 10";
    }
    },
    function(data) {
    var id = data.classId;
    var div = doc.createElement("div");
    var modify = doc.createElement("input");
    modify.type = "button";
    modify.value = "Edit Class";
    modify.onclick = function() {
    location.href = "UpdateSchoolClass!showModifyClass.action?classId=" + id + "&schoolId=" + schoolId;
    } var del = doc.createElement("input");
    del.type = "submit";
    del.value = "Remove Class";
    del.onclick = function() {
    return isnDelete(id);
    }; var image = doc.createElement("input");
    image.height = "15";
    image.type = "image";
    image.src = '<%=path +"/img/ruby_go.png"%>';
    image.setAttribute("height", "15"); div.appendChild(image);
    div.appendChild(modify);
    div.appendChild(del);
    return div;
    }
    ];
    DWRUtil.addRows('tabId', data, cellfuncs, {
    rowCreator:function() {
    var row = doc.createElement("tr");
    return row;
    },
    cellCreator:function() {
    var td = doc.createElement("td");
    return td;
    }
    });
    }
    function isnDelete(id) {
    var hre = "../secure/is_not_delete.jsp?";
    doc.cookie = "classId=" + id;
    doc.cookie = "teacherId=" + DWRUtil.getValue("parent");
    doc.cookie = "schoolId=" + DWRUtil.getValue("schools");
    Modalbox.show(hre, {title: 'Are you sure you want to delete the class?', width: 500, height: 300});
    return false;
    }
    </script><%--<s:hidden name="parent.parnetId" value="%{parent.parnetId}"></s:hidden>--%>
    <div class="featurebox_center">
    <s:form action="AddSchoolClass" theme="simple">
    <h3 align="center">School Management Summary</h3>
    <s:fielderror></s:fielderror>
    <s:hidden id="schoolId" name="classInfo.schoolId"></s:hidden>
    <table>
    <s:if test="#session.user.userType==5">
    <tr>
    <td><b>Select School Name</b></td>
    <td><select name="schoolName" style="width:300px" id="schools"
    onchange="teacherByDistrictLists();"></select></td>
    <td>&nbsp;</td>
    </tr>
    </s:if>
    <s:else>
    </s:else>
    <tr>
    <td><b>Select Teacher Profile</b></td>
    <td>
    <select style="width:300px" id="parent" name="parent.parentId" onchange="classList();"></select>
    </td>
    <td width="200" valign="middle"><s:a href="#" onclick="return parentLink();">
    <img height="15" src='<%=path+ "/img/picture_go.png" %>'/>
    Edit Profile</s:a>
    </td>
    </tr>
    <tr>
    <td colspan="3">
    <div class="add_bold">School Information</div>
    </td>
    </tr>
    <tr>
    <td colspan="3"><s:hidden name="teacherCount" value="%{teacherCount}"/>Number of Teacher(s):
    <s:label name="teacherCount" id="teacherCount"/>
    </td>
    </tr>
    <s:if test="#session.user.userType==4">
    <tr>
    <td>Select School Name</td>
    <td><s:textfield cssStyle="width:295px" id="school" name="school.schoolName"
     readonly="true"></s:textfield></td>
    <td>&nbsp;</td>
    </tr>
    </s:if>
    <tr>
    <td>Grade/Level</td>
    <td>
    <select style="width:300px" id="grade" name="classInfo.grade"></select>
    </td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td width="200">Class Name</td>
    <td><s:textfield cssStyle="width:295px" name="classInfo.name"></s:textfield></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td colspan="3"><s:submit method="addClassInfo" value="Add Class"
      onclick="return IsNAddClassInfo();"></s:submit></td>
    </tr>
    </table>
    <table>
    <thead>
    <tr>
    <td width="200">
    <div class="add_bold">Class Name</div>
    </td>
    <td width="200">
    <div class="add_bold">Grade/Level</div>
    </td>
    <td width="200">
    <div class="add_bold">Actions</div>
    </td>
    </tr>
    </thead>
    <tbody id="tabId"></tbody>
    </table>
    </s:form></div>
    </body>
    </html>
        这是我整个页面的代码
      

  5.   

    这是我的模版 <%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
    <%@ taglib uri="http://www.opensymphony.com/sitemesh/page" prefix="pages" %>
    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
    <%
    String path = request.getContextPath();
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <!-- Meta Data -->
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
    <meta name="description" content="Short description of your site here."/>
    <meta name="keywords" content="keywords, go, here, seperated, by, commas"/>
    <!-- Site Title -->
    <title><decorator:title default="Default Title"/></title>
    <!-- Link to Style External Sheet -->
    <link href='<%= path + "/css/style.css" %>' type="text/css" rel="stylesheet"/>
    <link href='<%= path + "/css/tablecloth/tablecloth.css" %>' type="text/css" rel="stylesheet"/>
    <link href='<%= path + "/css/page.css" %>' type="text/css" rel="stylesheet"/>
    <link rel="stylesheet" href='<%=path +"/js/modalbox.css"%>' type="text/css" media="screen"/>
    <link rel="stylesheet" type="text/css" media="all" href="<%=path+ "/css/report.css"%>"/> <script type="text/javascript" src='<%=path+ "/js/ajax.js"%>'></script>
    <script type="text/javascript" src='<%=path +"/js/prototype.js"%>'></script>
    <script type="text/javascript" src='<%=path + "/js/scriptaculous.js?load=effects" %>'></script>
    <script language='JavaScript' src='<%=path+ "/js/bo.js" %>'></script>
    <script language='JavaScript' src='<%=path+ "/js/tablecloth.js" %>'></script>
    <script type="text/javascript" src='<%=path+ "/js/modalbox.js"%>'></script> <script type='text/javascript' src='<%=path+ "/dwr/interface/schoolSelect.js" %>'></script>
    <script type='text/javascript' src='<%=path+ "/dwr/interface/parentSelect.js" %>'></script>
    <script type='text/javascript' src='<%=path+ "/dwr/interface/classSelect.js" %>'></script>
    <script type='text/javascript' src='<%=path+ "/dwr/interface/stateSelect.js" %>'></script>
    <script type='text/javascript' src='<%=path+ "/dwr/interface/countrySelect.js"%>'></script>
    <script type='text/javascript' src='<%=path+ "/dwr/interface/schoolDistrictSelect.js"%>'></script>
    <script type='text/javascript' src='<%=path+ "/dwr/interface/languageSelect.js"%>'></script>
    <script type='text/javascript' src='<%=path+ "/dwr/interface/kidSelect.js"%>'></script>
    <script type='text/javascript' src='<%=path+ "/dwr/interface/bucketSelect.js"%>'></script> <script type='text/javascript' src='<%=path+ "/dwr/engine.js" %>'></script>
    <script type='text/javascript' src='<%=path+ "/dwr/util.js" %> '></script>
    <script type="text/javascript">
    function logout()
    {
    return true;
    }
    </script>
    <decorator:head/>
    </head>
    <body onload="logout();">
    <div id="page_wrapper">
    <div id="header_wrapper">
    <div id="header">
    <h1>&nbsp;</h1> <h2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</h2>
    </div>
    <div id="navcontainer">
    <ul id="navlist">
    <decorator:usePage id="a"></decorator:usePage>
    <!--
      <li><a  href='<%= path + "/secure/search_parent.jsp" %>' >Search Parent</a></li>
      <li><a  href='<%= path + "/secure/search_kid.jsp" %>'>Search Kid</a></li>
      <li><a  href='<%= path + "/secure/OfflineSignup!showSignupForm.action" %>' >Signup</a></li>
      <li><a  href="javascript:;" onclick="notFinish();return false;" >Import User List</a></li>
      -->
    <li><a href='<%= path + "/secure/School!showIndex.action" %>'>School Management</a>
    </li>
    <li><a href='<%= path + "/report/Report!showIndex.action" %>'>Reports</a></li>
    <li><a href='<%= path + "/secure/Logout!logout.action" %>'>Logout</a></li>
    </ul>
    </div>
    </div>
    <!--
    <div id="left_side">
    <h3>Left Side</h3>
    <div class='featurebox_side'>
    Hello User
    </div>
    <p>
    <a href="#">User Guide</a>
    </p>
    </div>
     --> <div id="right_side">
    <%--<h3>Language</h3> --%>
    <%--<div class='featurebox_side'>--%>
    <%--<a href='<%= path + "/secure/SwitchLang!SwitchLanguage.action?request_locale=en_US" %>'>English</a>  |--%>
    <%--<a href='<%= path + "/secure/SwitchLang!SwitchLanguage.action?request_locale=zh_TW" %>'>繁體</a>--%>
    <%--<s:select name="request_locale" list="#{'en_US':'English','zh_TW':'繁體'}" onchange="language(this.value)"/>--%>
    <%--</div>--%>
    <h3>School Support</h3> <div class='featurebox_side'>
    <b>Email to:</b>
    <a href="mailto:[email protected]" target="blank">[email protected]</a>
    </br>
    <br>
    <b>Call:</b>
    1.800.621.3900
    </br>
    <br>
    <b>Web:</b>
    <a href="http://www.info.eb.com" target="blank">www.info.eb.com</a>
    </div> <h3>Downloads</h3> <p>
    <a target="_blank" href='<%= path + "/doc/Britannica_SmartMath_School_Administration_User_Guide.pdf" %>'>
    Britannica SmartMath School Administration User Guide
    </a>
    </p> <p>
    <a target="_blank" href='<%= path + "/doc/Britannica_SmartMath_Teacher_Module_User_Guide.pdf" %>'>
    Britannica SmartMath Teacher Module User Guide
    </a>
    </p> <p>
    <a target="_blank" href='<%= path + "/doc/SmartMath_School.xls" %>'>
    School Import File Template
    </a>
    </p> <p>
    <a target="_blank" href='<%= path + "/doc/SmartMath_Teachers.xls" %>'>
    Teacher Import File Template
    </a>
    </p> <p>
    <a target="_blank" href='<%= path + "/doc/SmartMath_Students.xls" %>'>
    Student Import File Template
    </a>
    </p> <p>
    <a target="_blank" href='<%= path + "/doc/SmartMath_Classes.xls" %>'>
    Class Import File Template
    </a>
    </p>
    </div>
    <div id="content">
    <decorator:body/>
    </div>
    <div id="footer">
    <!--
      <a href="#">Link One</a> |
      <a href="#">Link Two</a> |
      <a href="#">Link Three</a> |
      <a href="#">Link Four</a> |
      <a href="#">Link Five</a>
      <br />
      Powered by<br>
    <a href="http://www.planetii.com" target="_blank"><img src='<%= path + "/img/planetii 1.png"%>'/></a>
    <br>TM & © 2000-2009 PLANETii. All rights reserved</br>
      -->
    <img src='<%= path + "/img/footer.png"%>'/>
    </div>
    </div>
    </body>
    </html>
      

  6.   


    我觉得dwr框架挺好的,哈哈!