这可能是一个简单的问题,但我遇到了一些麻烦。我创建了一个表单,这个表单使用php来验证字段。我已经为错误消息设置了一个echo,在提交表单时会在弹出窗口中回显。
在这个弹出窗口中有一个关闭按钮,我在这个按钮上添加了一些javascript来隐藏div,这样用户就可以继续填写他们错过的表单字段。我唯一的问题是......如果用户再次提交表单并且验证失败,弹出窗口将不会加载,因为它已被隐藏。
如何“暂时”隐藏此div并在提交后重新加载?这是我的关闭按钮的javascript代码:
<script>
function checkClick(e) {
var obj = e.srcElement;
if (obj.id != 'pop-overlay')
document.getElementById('pop-overlay').style.display = 'none';
}
</script>
这是我的电话:
onClick="checkClick(event); return false;"
这是我的php回音:
<?php
if(!empty($errorMessage))
{
echo("<div id='pop-overlay'><ol>" . $errorMessage . "</ol><img class='close' src='images/close-btn.png' onClick='checkClick(event); return false;'/></div>");
}
?>
答案 0 :(得分:0)
我不确定我是否遵循此处的页面逻辑,但如果您希望div在同一页面上再次显示,则只需使用以下代码重新显示div:
document.getElementById('pop-overlay').style.display = 'block';
您可以将此代码放在您希望它再次开始显示的任何位置。如果您需要在页面中添加新的div之前从页面中删除前一个div,以便只显示新的div,那么您可以使用它:
var o = document.getElementById('pop-overlay');
o.parentNode.removeChild(o);