隐藏显示表行

时间:2013-02-28 14:22:39

标签: javascript html

下面是我的代码,它通过隐藏或使下面的表格行可见而完美地工作。 我遇到的问题是,当我验证我的表单并提交表单时,可见的表行会隐藏。 选中复选框后,它应保持可见状态。 仍然会选中该复选框,但表格行会隐藏。

我还想提一下,即使表格隐藏了,在选中复选框后,它会保留所有表单字段,不会丢失任何内容,问题就是表格隐藏了。任何想法??

为什么会发生这种情况?

<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">

1 个答案:

答案 0 :(得分:0)

当您点击提交时,表单会自行发布,并且由于您没有提供表单的标记,我的假设是它将发布到本身。根据该信息,您的页面可能会在进行任何更改之前返回其原始状态。如果您希望保留所做的更改,则需要从发布这些更改的任何数据源加载它们,或者通过使用会话或cookie来保持其状态。如果您通过ajax进行更改,则只需在提交按钮中添加onclick="myAjaxCall();return false;"即可。