Javascript div在页面加载时正确隐藏,但需要在单击“后退”按钮时显示

Javascript div在页面加载时正确隐藏,但需要在单击“后退”按钮时显示,javascript,Javascript,我有几个div将隐藏在我正在设计的html表单的页面加载中。有些包含文本字段,有些包含下拉框。根据在表单中单击某些单选按钮的时间显示。我正在使用javascript隐藏div。以下是我正在使用的代码: <script language="JavaScript"> function start() { hide('hideablearea'); hide('nontenant'); hide('conftype'); hide('rec_roomlayout'); hi

我有几个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>

函数start(){
隐藏(‘隐藏’);
隐藏(“非承租人”);
隐藏('conftype');
隐藏(“rec_roomlayout”);
隐藏('req_roomlabel');
隐藏('req_roomdrpdwn');
}
window.onload=开始;
它工作得很好。我的问题是…提交表单时出现错误(例如,用户忘记填写必填字段)并单击“上一步”按钮,此函数将再次启动并隐藏所有内容..我希望在此时显示包含信息的隐藏div。你知道如何实现这一目标吗

提前谢谢


K

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

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

如果在脚本中实现错误处理,则可以在提交页面之前立即通知用户错误和缺少的信息。然后,只有在所有内容都已签出的情况下,才能提交表单

2)在回邮时重新显示表单

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

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

如果页面有错误,客户端脚本可以避免隐藏相关信息。在此模型中,用户无需单击“上一步”按钮来纠正错误。

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

像这样:

<script type="text/javascript">
    function start() {
        if (document.getElementById('hideablearea') == "") {
            hide('hideablearea');
        }
        ...
    }
</script>

函数start(){
if(document.getElementById('hideablearea')==“”){
隐藏(‘隐藏’);
}
...
}

您可能想问问自己,为什么要强迫用户单击“上一步”以更正错误。谢谢大家的回复。我觉得我应该补充一点,在提交表单时,.asp页面会执行错误检查。如果出现错误,将显示meesasge,并通过显示“back”的超链接将用户发送回页面。超链接执行此操作:您的设计有缺陷。当用户返回时,您将丢失错误所在的所有上下文。您的ASP页面应再次呈现表单,并显示错误消息,以允许他们更正问题。@Mike..这样HASRERRORS代码将出现在处理表单的页面上?您应该只有一个页面。此页面应自行提交,并在POST上验证输入和显示错误。