【问题标题】:After isset($_GET['post_id']) === true), need to call Javascript to turn <div> visibility to hidden在 isset($_GET['post_id']) === true) 之后,需要调用 Javascript 将 <div> 的可见性变为隐藏
【发布时间】:2012-11-16 03:32:35
【问题描述】:

这里对 PHP 比较陌生,但这里是我所在的位置:

我正在进行简单的 PHP 类型的电子邮件发送验证,但在页面检查并确认电子邮件已发送后,我需要调用 Javascript(除非有更好的方法来执行此操作)来隐藏 DIV包含电子邮件表单以防止垃圾邮件。

这是我的代码:

<?php
  if (isset($_GET['sent']) === true) {
    echo '<div id="formAnswer"> Thanks for the email! </div>';
  }

  if (empty($errors) === false) {
    echo '<ul>';
    foreach($errors as $error) {
      echo '<li>', $error, '</li>';
    }
    echo '</ul>';
   }                
?>

我希望调用一个 Javascript 函数来隐藏包含基于确认电子邮件已发送的相同 IF 语句的电子邮件表单的 div(我想包括 setTimeout 以便用户非常清楚确认DIV 出现,他们无法从该页面发送另一封电子邮件),但我似乎无法让 Javascript 在回显中执行。

有什么帮助吗?

【问题讨论】:

  • 你能显示你的html代码/表单吗?
  • 通过在客户端隐藏表单,您无法阻止垃圾邮件。
  • 这不是一个主题,但您可以将 if 语句编写为 if(isset($_GET['sent']))
  • 您是否通过 AJAX 加载您的 PHP 代码?如果没有,将刷新页面,您可以通过不将其添加到标记来隐藏服务器端的表单。
  • 你不能(不应该)混合使用 PHP 和 JavaScript。你绝对不应该依赖 JavaScript 来保证安全。想想你最终想要完成什么,并且只用 PHP 来完成。 然后用 JavaScript 让它变得很酷。

标签: php javascript html visibility hidden


【解决方案1】:

您可以使用 php 隐藏表单,即仅在未发送邮件时显示表单:

if(!isset($_GET['sent'])) {
   <-- form -->
}

【讨论】:

    【解决方案2】:

    使用 document.getElementById('divid'); elem.parentNode.removeChild(elem) 删除分区!隐藏它:D

    【讨论】:

    • 非常有用的信息,你们是救生员。 :)
    猜你喜欢
    • 2010-11-30
    • 2012-05-10
    • 1970-01-01
    • 2013-06-01
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 2020-08-29
    相关资源
    最近更新 更多