问题描述
请先看截图,我第一次遇到这种问题,当然,不是代码标签未写完整的,代码所有的TD,TR都是包含完整且检查了很多遍。初步认为是字符编码集的问题,但是找不到解决方法。。 有没有遇到过相似情况的同仁? 请赐教下面贴上这个页面的相应代码:<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!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 http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>main</title><%@include file="../includedMain.jspf"%><script language="JavaScript" type="text/javascript"> $(document).ready(function() { $.datepicker.setDefaults( $.datepicker.regional[ "zh-CN" ] ); $( "#choose-birthday" ).datepicker( {changeMonth: true, changeYear : true, yearRange : 'c-100:c' }); $( "#choose-come-day" ).datepicker( {changeMonth: true, changeYear : true, yearRange : 'c-100:c' }); var positionName = $("#pozitionSelect").find("option:selected").attr('name'); var teamTD = $("#ownTeamLabel");if(teamTD!=null){if(positionName == 'staffVO.salesman'){$("#ownTeamSelector").show();$(teamTD).show();}} }); </script></head><body class="ContentBody"><form id="staff_update_form" class="validate"action="<s:url value='/staff/staffUpdate.action'/>" method="post"enctype="multipart/form-data" name="form" target="mainFrame"><inputtype="hidden" name="staffVO.version"value="<s:property value='staffVO.version'/>" /><div class="MainDiv"><table width="99%" border="0" cellpadding="0" cellspacing="0"class="CContent"><tr><th class="tablestyle_title">员工信息修改</th></tr><tr><td class="CPanel"><table border="0" cellpadding="0" cellspacing="0" class="c3"><tr><td width="100%"><fieldset class="c4"><legend>员工信息</legend> <inputtype="hidden" name='staffVO.id'value="<s:property value='staffVO.id'/>" /> <input id="sexvalue"type="hidden" name="" /> <input type="hidden" id="pozitionValue"name="" value="" /> <input type="hidden" id="teamValue" name=""value="" /><table border="0" cellpadding="2" cellspacing="1" class="c3"><tr><td nowrap="nowrap" align="right">真实姓名:</td><td><input class="text requireValid c1"name='staffVO.staffName'value="<s:property value='staffVO.staffName'/>" /> <spanclass="errorMsg">*</span></td><td align="right">性别:</td><td><select name="sex"><option<s:if test="%{#staffVO.staffName =='male'}">selected="selected"</s:if>onchange="injectIntoForm('sexvalue','staffVO.sex','male');">男</option><option<s:if test="%{#staffVO.staffName =='famale'}">selected="selected"</s:if>onchange="injectIntoForm('sexvalue','staffVO.sex','famale');">女</option></select></td><input id="sexvalue" type="hidden" name="" /></tr><tr><td align="right">出生日期:</td><td><input id="choose-birthday" class="text c1"readonly="true" name='staffVO.birthDayStr'value="<s:property value='staffVO.birthDayStr'/>" /></td><td align="right">身份证号码:</td><td><input class="text requireValid c1"name='staffVO.idNumber'value="<s:property value='staffVO.idNumber'/>" /> <spanclass="errorMsg">*</span></td></tr><tr><td align="right">电子邮箱:</td><td><input class="text c1" name='staffVO.email'value="<s:property value='staffVO.email'/>" /></td><td align="right">电话号码:</td><td><input class="text requireValid c1"name='staffVO.phoneNumber'value="<s:property value='staffVO.phoneNumber'/>" /> <spanclass="errorMsg">*</span></td></tr><tr><td align="right">地址:</td><td><input name="staffVO.address"class="text requireValid c1" type="text"value="<s:property value='staffVO.address'/>" /> <spanclass="errorMsg">*</span></td><td align="right">职位:</td><td><select id="pozitionSelect" name="pozition"onchange="setPositionValue('pozitionSelect','pozitionValue');"><option name="staffVO.admin"<s:if test="#request.staffVO.hasAdminRole()">selected="selected"</s:if>><s:textname="ADMIN" /></option><option name="staffVO.manager"<s:if test="#request.staffVO.hasManagerRole()">selected="selected"</s:if>><s:textname="MANAGER" /></option><option name="staffVO.assistManager"<s:if test="#request.staffVO.hasAssistManagerRole()">selected="selected"</s:if>><s:textname="ASSISTMANAGER" /></option><option name="staffVO.teamLeader"<s:if test="#request.staffVO.hasTeamLeaderRole()">selected="selected"</s:if>><s:textname="TEAMLEADER" /></option><option name="staffVO.salesman"<s:if test="#request.staffVO.hasSalesmanRole()">selected="selected"</s:if>><s:textname="SALESMAN" /></option></select></td></tr><tr><td align="right">入职时间:</td><td><input id="choose-come-day" class="text c1"readonly="true" name='staffVO.comeDayStr'value="<s:property value='staffVO.comeDayStr'/>" /></td><td id="ownTeamLabel" align="right" class="c2"style="display: none;">所属团队</td><td id="ownTeamSelector" class="c2" style="display: none;"><selectname="staffVO.team.id"><s:iterator value="teamList" id="teamList"><option value="<s:property value="id"/>"<s:if test="#request.staffVO.team.teamName == #teamList.teamName">selected="selected"</s:if>><s:propertyvalue="teamName" /></option></s:iterator></select></td></tr><tr><td align="right">描述:</td><td colspan="3"><textarea name="staffVO.info" cols="100"rows="8"><s:property value="staffVO.info" /></textarea></td></tr></table><br /></fieldset></td></tr></table></td></tr> <tr> <td colspan="2" align="center" height="50px"> <input type="button" name="Submit" value="保存" class="button submit" /> <input type="button" name="Submit2" value="返回" class='button' onclick="window.history.go(-1);" /></td> </tr></table></div></form></body></html> 问题补充:asyty 写道
解决方案
我也觉得有可能是编码问题,不过一般编码问题都是会出现乱码 也有可能不是编码的问题 而是标签的问题,我个人更倾向是标签的问题,要不右键文件看一下文件属性里的编码。。。要不你试试从下到上依次把一部分html用<!-- -->注释掉,再刷新页面,判断一下是不是标签的问题
解决方案二:
应该是你的代码问题,在这个页面,显示到哪里。。那个位置的数据存在问题,也会导致页面加载失败,显示不全,你认真检查下,各个域的数据;
解决方案三:
readonly不是等于true 应该是等于readonly 小写的o
解决方案四:
把你的代码贴到eclipse里发现几个问题<td><select name="sex"><option<s:if test="%{#staffVO.staffName =='male'}">selected="selected"</s:if>onchange="injectIntoForm('sexvalue','staffVO.sex','male');">男</option><option<s:if test="%{#staffVO.staffName =='famale'}">selected="selected"</s:if>onchange="injectIntoForm('sexvalue','staffVO.sex','famale');">女</option></select></td>这么写有问题的,onchange不应该写在option里的,应该是写在<select name="sex">里的<input id="sexvalue" type="hidden" name="" />name空的<td><select id="pozitionSelect" name="pozition"onchange="setPositionValue('pozitionSelect','pozitionValue');"><option name="staffVO.admin"<s:if test="#request.staffVO.hasAdminRole()">selected="selected"</s:if>><s:textname="ADMIN" /></option><option name="staffVO.manager"<s:if test="#request.staffVO.hasManagerRole()">selected="selected"</s:if>><s:textname="MANAGER" /></option><option name="staffVO.assistManager"<s:if test="#request.staffVO.hasAssistManagerRole()">selected="selected"</s:if>><s:textname="ASSISTMANAGER" /></option><option name="staffVO.teamLeader"<s:if test="#request.staffVO.hasTeamLeaderRole()">selected="selected"</s:if>><s:textname="TEAMLEADER" /></option><option name="staffVO.salesman"<s:if test="#request.staffVO.hasSalesmanRole()">selected="selected"</s:if>><s:textname="SALESMAN" /></option></select></td>option没name这个属性的<td><input id="choose-come-day" class="text c1"readonly="true" name='staffVO.comeDayStr'value="<s:property value='staffVO.comeDayStr'/>" /></td>readonly不是等于true 应该是等于readOnly
解决方案五:
要不查看一下页面源代码,贴一下呗如果用chrome浏览器就更方便,右键点在出错的地方,右击审查元素看看
解决方案六:
这个。。。在js各处alert()一下看看,或者删掉一部分看看,个人觉得有可能是js的问题