我用javascript隐藏它后重新加载div?

时间:2011-10-11 16:25:49

标签: javascript

这可能是一个简单的问题,但我遇到了一些麻烦。我创建了一个表单,这个表单使用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>");
        } 
    ?>

1 个答案:

答案 0 :(得分:0)

我不确定我是否遵循此处的页面逻辑,但如果您希望div在同一页面上再次显示,则只需使用以下代码重新显示div:

document.getElementById('pop-overlay').style.display = 'block';

您可以将此代码放在您希望它再次开始显示的任何位置。如果您需要在页面中添加新的div之前从页面中删除前一个div,以便只显示新的div,那么您可以使用它:

var o = document.getElementById('pop-overlay');
o.parentNode.removeChild(o);