我正在设计的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在这一点上有信息显示。关于如何实现这个的任何想法?
提前致谢!
K
答案 0 :(得分:0)
如果您显示错误消息,则可能需要重新考虑您的设计,用户需要单击返回以转到上一页并更正信息。上一页没有错误消息的概念。我可以看到两种方法来纠正这个问题。
1)在JavaScript中执行所有错误检查
如果您在脚本中实现错误处理,则可以在提交页面之前立即通知用户错误和缺少信息。如果一切都结束,您只会提交表格。
2)在回发后重新显示表单
当用户提交表单时,您需要在服务器上执行必需的错误检查。然后,您将使用所有用户输入的信息再次重新呈现表单,并显示错误消息。在这个页面上,你会写一些类似的东西:
<script>var hasErrors = true;</script>
如果页面有错误,您的客户端脚本可以避免隐藏相关信息。用户无需点击后退按钮来纠正错误。
答案 1 :(得分:0)
您可以将id属性添加到您的div中,然后控制您的div是否有要显示的消息然后您没有隐藏它们。
像这样:
<script type="text/javascript">
function start() {
if (document.getElementById('hideablearea') == "") {
hide('hideablearea');
}
...
}
</script>