php - 如何在 php 中插入 javascript?

标签 php javascript

我正在尝试将 javascript 插入到 div 中。所有这些都在一个 php 文档中。

我试图让一个 div 在它的子 div 加载时淡入视野。 父 div 的 id 为“subemail”(这是隐藏的) 显示 ID 为“error”的子 div,然后它应该在上面的 div 中淡出。

以下是我尝试加载的脚本,但出现意外错误 T_STRING,需要 ',' 或 ';'。

<script type="text/javascript">
  $(function(){$('div#subemail').fadeIn('slow');});
</script>

PHP 文档:

    if (empty($_POST['sub_name'])) {
        $errors[] = 'Please type in your name';
    } else {
        $sub_name = strip_tags($_POST['sub_name']);
    }

    if (filter_input(INPUT_POST, 'sub_email', FILTER_VALIDATE_EMAIL)) {
        $sub_email = $_POST['sub_email'];
    } else {
        $errors[] = 'Please type in a valid email'; 
    }

    if ($errors) {
        echo '<div class="errors">';
                    echo '<script type="text/javascript">';
                    echo '$(function(){$('div#subemail').fadeIn('slow');});';
                    echo '</script>';


        foreach ($errors as $error) {
            echo '<p class="error">- ' . $error . '</p>';
        }
        echo '</div>';

    }

最佳答案

您需要使用反斜杠转义引号:

echo '$(function(){$(\'div#subemail\').fadeIn(\'slow\');});';

问题是您用第一个 ' 打开一个字符串,然后在 'div#... 处关闭它。而不是在行尾关闭它。大多数语言使用反斜杠来表示作为字符串一部分的引号,而不是终止字符串。

您还可以切换上下文,我认为这可以彻底清理;只需确保通过将以下内容移动到某种模板文件来分离您的 View / Controller 逻辑:

<? if ($errors) { ?>
  <div class="errors">
    <script type="text/javascript">
      $(function() { $('div#subemail').fadeIn('slow'); });
    </script>
    <? foreach ($errors as $error) { ?>
      <p class="error"><?= $error ?></p>
    <? } ?>
  </div>
<? } ?>

关于php - 如何在 php 中插入 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5025326/

相关文章:

javascript - axios 库中的超时功能不起作用

javascript - 如何创建动态ajax提交表单

php - authorize.net json 返回额外的字符

php - fatal error : Uncaught Error: Call to undefined function mysql_close()

javascript - Android 为 Node.js 服务器抛出 FileNotFoundException

javascript - 如何确定脚本中的哪些内容阻止了 HTML 渲染?

php - 从 Woocommerce 面包屑中删除 "Shop"

javascript - session 登录(chrome 的后退箭头)

javascript - Smtp 连接设置错误?!地球上的 Servage.net 是如何工作的 D_; ...会让我生气 :D

javascript - 我无法使用 jquery 让我的动画在我的网站加载时工作