下面是我的代码,它通过隐藏或使下面的表格行可见而完美地工作。 我遇到的问题是,当我验证我的表单并提交表单时,可见的表行会隐藏。 选中复选框后,它应保持可见状态。 仍然会选中该复选框,但表格行会隐藏。
我还想提一下,即使表格隐藏了,在选中复选框后,它会保留所有表单字段,不会丢失任何内容,问题就是表格隐藏了。任何想法??
为什么会发生这种情况?
<style>
<!--
.hidden
{
display: none;
}
.visible
{
}
</style>
<script type="text/javascript">
<!--
var last = "";
function show(div)
{
if (last)
{
document.getElementById(last).className = "hidden";
}
if (div && document.getElementById(div))
{
document.getElementById(div).className = "visible";
last = div;
}
}
</javascript>
<input name="showme" value="yesshowme" type="checkbox" onClick="show(this.value);">
<tr id="yesshowme" class="hidden">
blablablablalbla
</tr>
<submit name="submit" value="submit">
答案 0 :(得分:0)
当您点击提交时,表单会自行发布,并且由于您没有提供表单的标记,我的假设是它将发布到本身。根据该信息,您的页面可能会在进行任何更改之前返回其原始状态。如果您希望保留所做的更改,则需要从发布这些更改的任何数据源加载它们,或者通过使用会话或cookie来保持其状态。如果您通过ajax进行更改,则只需在提交按钮中添加onclick="myAjaxCall();return false;"
即可。