【问题标题】:Concatenation php string to javascript string将php字符串连接到javascript字符串
【发布时间】:2014-04-29 01:51:24
【问题描述】:

我有一些关于将 php 字符串连接到 javascript 字符串的问题......

例如:

php 变量

$man = "Jamse";

并具有javascript功能

<script>
    if (document.getElementById("fname").value == "") {
        q = false;
        msg = <?php echo 'Please fill first name'.$formErrors['fname'].'\n' ?>;
    }
</script>

我想做这样的事情有人可以帮助我吗?

【问题讨论】:

    标签: javascript php string concatenation concat


    【解决方案1】:

    其他答案都是真的,我只是忘了写引号,而 javascript 不明白它是一个字符串并给了我一个错误。正确代码:

       if (document.getElementById("fname").value == "") {
            q = false;
            msg = "<?php echo 'Please fill first name'.$formErrors['fname'].'\n'; ?>";
        }
    

    【讨论】:

    • 您是在回答自己的问题吗?或者发布更多信息?代码上面的句子很难理解(加上句子是代码块的一部分)。如果这确实是一个答案,请将其编辑为可读。如果它是您问题的附加信息,请编辑您的问题。
    • @DavidMakogon 我认为他只是同意其他答案,这告诉他使用引号。
    【解决方案2】:

    为什么不全部用php写呢?

    <?php
    $man = "Jamse";
    echo "<script>
    function alertMyName() {
        alert('my name is:" . $man . "');
    }
    </script>";
    ?>
    

    【讨论】:

    • @ElGavilan 你能详细说明一下吗?
    • 最好保留 HTML 和 javascript 代码的静态部分,只使用 PHP 渲染动态部分。回显整个 HTML 通常被认为是不好的形式,因为它会使您的代码更难维护并且更容易出错。
    【解决方案3】:
    alert('my name is: <?= $man; ?>');
    

    由于PHP会在服务器端插入$man,所以它不是一个单独的字符串,必须由JS组合。浏览器将看到的只是

    alert('my name is: Jamse');
    

    【讨论】:

      【解决方案4】:

      alert('my name is: &lt;?php echo $man; ?&gt;' );

      【讨论】:

      • 如果我需要精确连接它,我该怎么办?
      • 当你的页面被渲染时,&lt;?php echo $man; ?&gt; 将被替换为$man 中的任何内容;在这种情况下,渲染输出将是 alert('my name is: Jamse' );
      • @MikeChristensen 这是一个很好的观点。如果$man 是通过用户输入(通过表单等)填充的,您将需要验证您的输入。
      • 假设$formErrors 已声明并具有有效值,您现在的问题应该可以解决。
      • 顺便说一句,你可能想放一个空格:) &lt;?php echo 'Please fill first name '.$formErrors['fname'].'\n' ?&gt;;
      猜你喜欢
      • 2013-10-03
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      相关资源
      最近更新 更多