在submit_form按钮单击后显示重新加载时隐藏的div

时间:2009-08-20 18:21:03

标签: php javascript forms submit contact

我需要在用户点击提交表单按钮后显示重新加载页面。

具体来说,我在show / hide div中有一个PHP联系表单。单击联系人会显示并隐藏联系表单。 show / hide js和php联系表单都可以完美运行。 当用户单击提交时 - 页面重新加载,并且“发送的消息”将写入联系人表单div。但是当页面重新加载时,表单在CSS中设置为 display:none; - 这是页面默认加载的方式。

提交后,我需要重新加载页面并在隐藏的div中显示联系表单。我不确定从哪里开始,因为页面的所有javascript都重新加载为默认值。此外,因为它是所有PHP我无法在content_form div中设置或调用锚。

谢谢!

4 个答案:

答案 0 :(得分:2)

我更喜欢CSS解决方案而不是JS解决方案。

if ($form_is_valid)
    echo '<style type="text/css">#contact { display: block; }</style>';

修改:为了让事情变得更清洁,我建议如果成功提交,请在表单中添加一个类。像这样:

$class = $form_is_valid ? ' class="submitted"' : '';
echo '<form method="..." action="..."' . $class . '>...</form>';

然后,您可以在display: none;定义之后执行CSS定义,如下所示:

form.submitted { display: block; }

答案 1 :(得分:1)

只有在成功发送表单时,才能使用某些PHP代码编写脚本。

然后只需回显JavaScript以将元素显示设置为块(类似于以下PHP代码):

if($form_is_valid)
{
    echo '<script type="text/javascript">'
       . 'document.getElementById("elementID").style.display = "block";'
       . '</script>';
}

答案 2 :(得分:0)

突破的答案应该可以正常工作,但我个人不喜欢在标记中添加任何类型的成功或错误消息,即使在CSS加载时也是如此,如果在页面加载时并非如此。由于页面正在重新加载,所以这样就不需要任何JavaScript或CSS来解决这个问题:

<?php if ($form_is_valid) include('SnippetFileWithSuccessMessageDivInIt.php') />

答案 3 :(得分:0)

如果表单加载了提交的内容,则可以使用javascript检测输入字段中是否存在文本。如果存在任何内容,请设置display:block。