将JSP一组件隐藏后再显示,在页面显示就缩在一个单元格内了,为什么会出现这种问题,如何解决
JSP代码:
<tr class="tr_left" id="versionTypeTr">
<td width="15%"><bean:message key='public.jsp.page.versionTypes'/></td>
<td width="85%" colspan="2"><select id="version_types" name="version_types" <c:if test="${sop.sopType=='1'}">disabled</c:if>>
<option value=""><bean:message key='public.jsp.prompt.pleaseSelect'/></option>
<c:forEach items="${versionTypeList}" var="vtList">
<option value="${vtList.typeDetailCode}" <c:if test="${vtList.typeDetailCode==sop.versionType}"><c:out value="selected"></c:out></c:if>>${vtList.typeDetailName}</option>
</c:forEach>
</select><font color=red>*</font></td>
</tr>
<tr class="tr_left" id="beginVersionTr">
<td width="15%"><bean:message key='public.jsp.page.beginVersion'/></td>
<td width="85%" colspan="2"><input id="begin_version" name="begin_version" type="text" value="${sop.beginVersion}" onchange="checkVersion(this.value,'begin')" size ="10"<c:if test="${sop.sopType=='1'}">disabled</c:if>/>
<font color=red>*<bean:message key='M03.sop.jsp.page.beginVersionFormat'/></font>
</td>
</tr>
打开这个页面的时候这两个组件是显示的,而且占了三个单元格,当我操作另一个组件时随着值的变化这两个组件就隐藏了,然后再改变那个组件的值,这两个组件再显示,这时候出问题了,这两个组件在页面里只占一个单元格,有人遇到过吗?如何解决!!求指点!!
JS代码:
if(sopTypes==1){
document.getElementById("versionTypeTr").style.display="none";
document.getElementById("version_types").value=""
document.getElementById("beginVersionTr").style.display="none";
document.getElementById("begin_version").value="";
}else{
document.getElementById("versionTypeTr").style.display="block";
document.getElementById("beginVersionTr").style.display="block";
}
tr_left css代码:
.tr_left
{
text-align:left;
background:#FAFAF1;
}
------解决方案--------------------
不能用block,
用 table-row 试试看吧
document.all.dh.style.display='table-row'; //这样显示没问题