繁体   English   中英

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

[英]divs hide correctly on page load, but need to show when back button is clicked

我正在设计的html表单上的页面加载中隐藏了几个div。 一些包含文本字段,一些包含下拉框。 根据在表单中单击某些单选按钮的时间显示。 我正在使用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其中有要显示的信息。 关于如何实现这一点的任何想法?

提前致谢!

ķ

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

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

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

2)重新显示回发表格

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

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

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

您可以将id属性设置为div,然后控制div是否有消息显示,那么您没有隐藏它们。

像这样:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM