问 两个JSP小问题

chan10 2009-07-08 09:16:33
初学JSP,碰到两个问题。
1.在一个table中,想隐藏掉其中的某一列内容,但是不想让后面的列往前挪,怎么处理?
2.有两个下拉框,一个是有A和B,另一个是有C和D。
如何让第一个选B的时候,第二个只能选D。
下面是写的代码,不解。

<%@ page contentType="text/html; charset=GB2312" pageEncoding="gb2312"%>

<html>
<head>
<title>POS</title>
</head>
<body bgproperties="fixed" onload="seleTypeChange()">
<form name="frm1" method="post">
<table>
<tr>
<td align="center" height="10">
操作类型:
</td>
<td align="left" height="10">
<select name="seleType" onchange="seleTypeChange();">
<option value="0">A</option>
<option value="1">B</option>
</select>
</td>
<td>
<input type="text" />
</td>
<td id="aaa">
<input type="button" value="Test"/>
</td>
<td id="bbb">
<input type="text" />
</td>
</tr>
</table>
<table>
<tr>
<td align="center" height="10">操作类型2:</td>
<td align="left" height="10">
<select name="seleType2" onchange="seleTypeChange2();">
<option value="0">C</option>
<option value="1">D</option>
</select>
</td>
</tr>
</table>
</form>
</body>
</html>
<script language="javascript">
function seleTypeChange()
{
//alert("document.seleType.value >> " + document.frm1.seleType.value);
if(document.frm1.seleType.value=="0")
{
aaa.style.display="none";
}
if(document.frm1.seleType.value=="1")
{
aaa.style.display="block";
bbb.style.display="block";
}
}
</script>


在上面的画面中,
也就是说
1.如何在隐藏Test按钮的时候,不让【bbb】这一列的文本框往前移,也就是如何固定住?我写的脚本,它会往前移啊,汗~
...全文
36 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chiphuo 2009-07-09
  • 打赏
  • 举报
回复
把id=aaa放在<input type="button" value="Test"/>中试试
cbdhxka 2009-07-09
  • 打赏
  • 举报
回复
visibility
meander 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yuzi13631138780 的回复:]
不用display用visibility才不会保留其占据空间:

HTML codefunction seleTypeChange()
{
//alert("document.seleType.value >> " + document.frm1.seleType.value);
if(document.frm1.seleType.value=="0")
{
aaa.style.visibility='hidden';
}
if(document.frm1.seleType.value=="1")
{
aaa.style.visibility='visible';
bbb.style.visibility="visible";
}…
[/Quote]

正解
yuzi13631138780 2009-07-09
  • 打赏
  • 举报
回复
<body bgproperties="fixed" onload="seleTypeChange()">
<form name="frm1" method="post">
<table>
<tr>
<td align="center" height="10">
操作类型:
</td>
<td align="left" height="10">
<select name="seleType" onchange="seleTypeChange();">
<option value="0">A</option>
<option value="1">B</option>
</select>
</td>
<td>
<input type="text" />
</td>
<td id="aaa">
<input type="button" value="Test"/>
</td>
<td id="bbb">
<input type="text" />
</td>
</tr>
</table>
<table>
<tr>
<td align="center" height="10">操作类型2:</td>
<td align="left" height="10">
<select name="seleType2" onchange="seleTypeChange2();">
<option value="0">C</option>//删除D
</select>
</td>
</tr>
</table>
</form>
<script language="javascript">
function seleTypeChange()
{
//alert("document.seleType.value >> " + document.frm1.seleType.value);
if(document.frm1.seleType.value=="0")
{
aaa.style.visibility='hidden';
var op=document.createElement("option");
op.innerHTML='D';//添加D
document.frm1.seleType2.appendChild(op);
}
if(document.frm1.seleType.value=="1")
{ document.frm1.seleType2.options[1]=null;//删除D
aaa.style.visibility='visible';
bbb.style.visibility="visible";
}
}
</script>
</body>
chan10 2009-07-09
  • 打赏
  • 举报
回复
恩。
多谢6楼的。
咱得多学习了~
fanyuanwaifdl 2009-07-09
  • 打赏
  • 举报
回复
gz
huamiaomiao 2009-07-09
  • 打赏
  • 举报
回复
把 td 设置成宽度固定的应该就可以了。
yuzi13631138780 2009-07-09
  • 打赏
  • 举报
回复
打多了一个不....
yuzi13631138780 2009-07-09
  • 打赏
  • 举报
回复
不用display用visibility才不会保留其占据空间:
function seleTypeChange()
{
//alert("document.seleType.value >> " + document.frm1.seleType.value);
if(document.frm1.seleType.value=="0")
{
aaa.style.visibility='hidden';
}
if(document.frm1.seleType.value=="1")
{
aaa.style.visibility='visible';
bbb.style.visibility="visible";
}
}
superjava_2006 2009-07-09
  • 打赏
  • 举报
回复
楼上已经很明白了
closewbq 2009-07-09
  • 打赏
  • 举报
回复

<script language="javascript">
function seleTypeChange()
{
//alert("document.seleType.value >> " + document.frm1.seleType.value);
if(document.frm1.seleType.value=="0")
{
aaa.style.visibility="hidden";
}
if(document.frm1.seleType.value=="1")
{
aaa.style.visibility="visible";
bbb.style.visibility="visible";
}
}
</script>

visibility和dispaly的区别:它们都可以实现对域的隐藏,但visibility要占用域的空间,而display则不会
huxin889 2009-07-09
  • 打赏
  • 举报
回复
学习
chan10 2009-07-08
  • 打赏
  • 举报
回复
貌似 不行,而且
Test按钮是我举的一个例子,要通用的解法。
csf3639249 2009-07-08
  • 打赏
  • 举报
回复
test按钮外面加层<div>试试
chan10 2009-07-08
  • 打赏
  • 举报
回复
不会啊 ~

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧