0

我有几个 div 要隐藏在我正在设计的 html 表单上的页面加载中。有些包含文本字段,有些包含下拉框。显示基于在表单中单击某些单选按钮的时间。我正在使用 javascript 来隐藏 div。这是我正在使用的代码:

<script language="JavaScript"> 

 function start() {
 hide('hideablearea');
 hide('nontenant');
 hide('conftype');
 hide('rec_roomlayout');
 hide('req_roomlabel');
 hide('req_roomdrpdwn');    
}
window.onload = start;
</script>

它完美地工作。我的问题是......当表单提交并且出现错误(例如,用户忘记填写必填字段)并单击后退按钮时,此功能再次触发并隐藏所有内容......我想要隐藏的 div其中有信息要显示在这一点上。关于如何实现这一目标的任何想法?

提前致谢!

ķ

4

2 回答 2

0

如果一旦显示错误消息,用户需要单击返回以转到上一页并更正信息,您可能需要重新考虑您的设计。上一页将没有错误信息的概念。我可以看到两种方法来纠正这个问题。

1) 在 JavaScript 中进行所有错误检查

如果您在脚本中实现错误处理,您可以在页面提交之前立即通知用户错误和缺失信息。然后,只有在一切都检查完毕后,您才提交表单。

2)在回发时重新显示表格

当用户提交表单时,您需要在服务器上进行错误检查。然后,您将使用所有用户输入的信息再次重新呈现表单,并显示错误消息。在此页面上,您将编写如下内容:

<script>var hasErrors = true;</script>

如果页面有错误,您的客户端脚本可以避免隐藏相关信息。在这个模型中,用户不需要点击返回按钮来纠正他们的错误。

于 2013-01-25T20:01:09.747 回答
0

您可以将 id 属性添加到您的 div 中,然后控制您的 div 是否有要显示的消息,然后您没有隐藏它们。

像这样:

<script type="text/javascript">
    function start() {
        if (document.getElementById('hideablearea') == "") {
            hide('hideablearea');
        }
        ...
    }
</script>
于 2013-01-25T20:01:46.390 回答