在echo里面的javascript中插入php

时间:2013-06-06 07:33:18

标签: php javascript

我有我的Javascript里面回声,但我希望它也有一个PHP内部。我不知道是否有可能,只想知道正确的方法。欢呼声。

<?php  
      if($_GET["main"]=="add-doc"){
            echo "<script> 
                       var r=confirm(\"Press a button\");
                       if (r==true)
                       {
                           <? require_once(\"doc_add.php\"); ?> <--- PHP here
                       }
                       else
                       {
                           x=\"You pressed Cancel!\";
                       }
                       </script>";
        } 
?>

4 个答案:

答案 0 :(得分:1)

从技术上讲,没有任何区别,包括HTML或CSS或JavaScript中的PHP。 HTML是静态的。 CSS和JavaScript是客户端动态语言,以补充HTML。他们在HTML中添加了PHP或任何其他服务器端语言无法在服务器端执行的操作。

这就是为什么在JavaScript中使用PHP被认为是反模式的原因。 CSS和JavaScript应该执行服务器端无法控制的操作。因此,这些行动的所有信息都应该是客户方。当在PHP页面中找到JavaScript代码时,维护更加困难。创建一个.js文件,进行一个函数调用,返回doc_add.php中的内容并进行操作。

答案 1 :(得分:0)

if($_GET["main"]=="add-doc"){
    echo "<script>
               var r=confirm(\"Press a button\");
                       if (r==true)
                       {
                           " . require_once('doc_add.php') . "  
                       }
                       else
                       {
                           x=\"You pressed Cancel!\";
                       }
          </script>";
}

答案 2 :(得分:0)

请回复其他部分。

顺便说一下,你可以使用'作为echo,这样你就不必在javascript中转义"。 (虽然PHP中的"'引号略有不同,但在这种情况下它可以正常工作。)或者您可以在javascript中使用'

<?php  
  if($_GET["main"]=="add-doc"){
    echo '<script> 
         var r=confirm("Press a button");
         if (r==true)
         {';
    require_once("doc_add.php");
    // Make sure the file returns valid javascript
    echo '}
         else
         {
             x="You pressed Cancel!";
         }
         </script>';
  }

答案 3 :(得分:0)

首先,您需要了解PHP是服务器端脚本,而javascript是客户端脚本。这意味着一旦PHP脚本完成呈现HTML文件,它就不能再执行任何操作。

你能做什么,是在javascript运行之前动态呈现javascript内容。

在你的情况下:

<?php  
      if($_GET["main"]=="add-doc"){ ?>
           <script> 
                       var r=confirm("Press a button");
                       if (r==true)
                       {
                           <? require_once(\"doc_add.php\"); ?>
                       }
                       else
                       {
                           x="You pressed Cancel!";
                       }
                       </script>
           <?php
        } 
?>