首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

网页弹出警告框 'null'替空或不是对象

2012-09-09 
网页弹出警告框 null为空或不是对象打开网页的时候就弹出警告框 null为空或不是对象,一天了也没有搞定

网页弹出警告框 'null'为空或不是对象
打开网页的时候就弹出警告框 'null'为空或不是对象,一天了也没有搞定,求帮助,以下是整个页面文件。用到的是DWR,兄弟姐妹们解救下小弟。再次感谢!

HTML code
<%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%><%@include file="../common/common.jsp" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><link href="../style/oa.css" rel="stylesheet" type="text/css"><script language="javascript" src="../script/public.js"></script><script type="text/javascript" src="<%=request.getContextPath() %>/dwr/engine.js"></script><script type="text/javascript" src="<%=request.getContextPath() %>/dwr/util.js"></script><script type="text/javascript" src="<%=request.getContextPath() %>/dwr/interface/aclManager.js"></script><script type="text/javascript">//授权function addOrUpdatePermission(field){    dwr.engine.setAsync(false);        //如果被选择上,则同时选择其"不继承"和"启用"checkbox    if(field.checked){        $(field.moduleId+"_USE").checked = true;        <c:if test="${aclInfo.principalType eq 'User' }">        $(field.moduleId+"_EXT").checked = true;        addOrUpdateExtends(field);        </c:if>    }    aclManager.addOrUpdatePermission(        "${aclInfo.principalType}",        ${aclInfo.principalId},        field.moduleId,        field.permission,        field.checked    );}//设置用户的继承特性function addOrUpdateExtends(field){    aclManager.addOrUpdateUserExtends(        ${aclInfo.principalId},        field.moduleId,        !field.checked    );}//点击启用checkboxfunction usePermission(field){    //如果checkbox被选中,意味着需要更新ACL的状态    //更新C/R/U/D以及Extends状态        //设置为同步方式,以便DWR依次发出下列请求    dwr.engine.setAsync(false);        if(field.checked){        addOrUpdatePermission($(field.moduleId+"_C"));        addOrUpdatePermission($(field.moduleId+"_R"));        addOrUpdatePermission($(field.moduleId+"_U"));        addOrUpdatePermission($(field.moduleId+"_D"));        <c:if test="${aclInfo.principalType eq 'User' }">        addOrUpdateExtends($(field.moduleId+"_EXT"));        </c:if>    }else{        aclManager.delPermission(            "${aclInfo.principalType}",            ${aclInfo.principalId},            field.moduleId                );        $(field.moduleId+"_C").checked = false;        $(field.moduleId+"_R").checked = false;        $(field.moduleId+"_U").checked = false;        $(field.moduleId+"_D").checked = false;        <c:if test="${aclInfo.principalType eq 'User' }">        $(field.moduleId+"_EXT").checked = false;        </c:if>    }}function initTable(){    aclManager.searchAclRecord(        "${aclInfo.principalType}",        ${aclInfo.principalId},        function(datas){            for(var i=0; i < datas.length; i++){                var moduleId = datas[i][0];                var cState = datas[i][1];                var rState = datas[i][2];                var uState = datas[i][3];                var dState = datas[i][4];                var extState = datas[i][5];            //alert(extState);                $(moduleId+"_C").checked = cState == 0 ? false : true;            alert($(moduleId+"_C").checked);                $(moduleId+"_R").checked = rState == 0 ? false : true;                $(moduleId+"_U").checked = uState == 0 ? false : true;                $(moduleId+"_D").checked = dState == 0 ? false : true;                <c:if test="${aclInfo.principalType eq 'User' }">                $(moduleId+"_EXT").checked = extState == 0 ? true : false;                </c:if>                $(moduleId+"_USE").checked = true;            }        }    );}</script><c:choose>    <c:when test="${aclInfo.principalType eq 'Role' }">        <c:set var="title" value="请给角色【${role.name }】授权"/>    </c:when>    <c:otherwise>        <c:set var="title" value="请给用户【${user.person.name }】授权"/>    </c:otherwise></c:choose><title>${title }</title></head><body onload="initTable()"><center><TABLE class="tableEdit" border="0" cellspacing="1" cellpadding="0" style="width:560px;">    <TBODY>        <TR>            <!-- 这里是添加、编辑界面的标题 -->            <td align="center" class="tdEditTitle">${title }</TD>        </TR>        <TR>            <td>            <!-- 主输入域开始 --><table class="tableEdit" style="width:560px;" cellspacing="0" border="0" cellpadding="0">        <tr>        <td class="tdEditLabel" >顶级模块</td>                    <td class="tdEditLabel">二级模块</td>        <td class="tdEditLabel" >权限</td>    <c:if test="${aclInfo.principalType eq 'User' }">        <td class="tdEditLabel" >不继承</td>    </c:if>        <td class="tdEditLabel" >启用</td>    </tr>        <!-- 输出模块树 -->    <c:forEach items="${modules }" var="module">    <tr>        <td>${module.name }</td>        <td></td>        <td>        <input type="checkbox" id="${module.id }_C" onclick="addOrUpdatePermission(this)" moduleId="${module.id }" permission="0">C        <input type="checkbox" id="${module.id }_R" onclick="addOrUpdatePermission(this)" moduleId="${module.id }" permission="1">R        <input type="checkbox" id="${module.id }_U" onclick="addOrUpdatePermission(this)" moduleId="${module.id }" permission="2">U        <input type="checkbox" id="${module.id }_D" onclick="addOrUpdatePermission(this)" moduleId="${module.id }" permission="3">D        </td>    <c:if test="${aclInfo.principalType eq 'User' }">        <td><input type="checkbox" id="${module.id }_EXT"  onclick="addOrUpdateExtends(this)" moduleId="${module.id }"></td>    </c:if>        <td><input type="checkbox" id="${module.id }_USE" onclick="usePermission(this)" moduleId="${module.id }"></td>    </tr>    <c:forEach items="${module.children }" var="child">    <tr>        <td></td>        <td>${child.name }</td>        <td>        <input type="checkbox" id="${child.id }_C" onclick="addOrUpdatePermission(this)" moduleId="${child.id }" permission="0">C        <input type="checkbox" id="${child.id }_R" onclick="addOrUpdatePermission(this)" moduleId="${child.id }" permission="1">R        <input type="checkbox" id="${child.id }_U" onclick="addOrUpdatePermission(this)" moduleId="${child.id }" permission="2">U        <input type="checkbox" id="${child.id }_D" onclick="addOrUpdatePermission(this)" moduleId="${child.id }" permission="3">D        </td>    <c:if test="${aclInfo.principalType eq 'User' }">        <td><input type="checkbox" id="${child.id }_EXT" onclick="addOrUpdateExtends(this)" moduleId="${child.id }"></td>    </c:if>        <td><input type="checkbox" id="${child.id }_USE" onclick="usePermission(this)" moduleId="${child.id }"></td>    </tr>    </c:forEach>    </c:forEach></table>            <!-- 主输入域结束 -->            </td>        </TR>    </TBODY></TABLE><TABLE>        <TR align="center">            <TD colspan="3" bgcolor="#EFF3F7">            <input type="button" class="MyButton"                value="关闭窗口" onclick="window.close()">            </TD>        </TR></TABLE></center></body></html> 



[解决办法]
alert(extState);
alert($(moduleId+"_C").checked);
这两个都正常??

再alert
${aclInfo.principalType} 这个看看??
[解决办法]
我这没环境没法调啊,你用IE8 或者火狐 调试一下看看哪行报错啊,

这个错误有很多可能的

或者你JS 先删几个方法留几个一个一个排除 看看是哪个JS

一般就是你JS里某个属性还没取到值 就应用了

就是你的JS初始化 变量先后顺序有问题


[解决办法]
在弹出null的时候 坐下判断 比如你 xx.id的时候 null 肯定是xx为null
if(xx){在alert xx.id}
[解决办法]
解决办法,在你调用的方法设一个断点,你一定是调用取不到数据。

热点排行