这样不行,要使输出合乎js语法,比如
<script language = "JavaScript">document.write("<?php echo "测试" ?>");</script>
或者
<script language = "JavaScript"><?php echo "document.write('测试');" ?>"</script>

解决方案 »

  1.   

    如果我想在JavaScript代码中加入多行PHP 代码,那和每行开始前都必须用document.write才可以吗?<script language = "JavaScript">
    document.write("<?php"); 
    document.write("echo 'prefix=$prefix'");document.write("$rsel='select distinct r,mtype,m from '.$prefix.'_type order by m asc'");
    document.write("$result=mysql_query($rsel,$dbi)");
    document.write("while($row=mysql_fetch_array($result)){");
    document.write("?>");
    </script>像这样可以吗?
      

  2.   

    <script language = "JavaScript"><?php echo "测试" ?></script>相当于<script language = "JavaScript">测试</script>
    懂了没?
      

  3.   

    呵呵,如果是我,我就这么写:
    <?
    echo 
        "
         <script language = \"JavaScript\">
         document.write("$var_string"); 
         document.write("$var_string2");
         </script>    ";
    ?>呵呵,纯属个人习惯~~~
      

  4.   

    -----------------
    如果我想在JavaScript代码中加入多行PHP 代码,那和每行开始前都必须用document.write才可以吗?
    -----------------晕我是说有输出要合乎js语法,你的查询等都没有输出,所以不能那样写,只有这一句可以
    document.write("<?echo 'prefix=$prefix';?>");
    所以你的js可以写成<script language = "JavaScript">
    <?php
    echo "document.write('prefix=$prefix');";//这个要输出document.write('xxx');
    $rsel='select distinct r,mtype,m from '.$prefix.'_type order by m asc';
    $result=mysql_query($rsel,$dbi);
    while($row=mysql_fetch_array($result)){
       echo"document.write('$row[field]');";//这个也要输出document.write('xxx')之类的东东
    }
    ?>
    </script>
      

  5.   

    谢谢,明白了许多,就是说要输出才用document.write,不输出就可以不用, 是吗?
      

  6.   

    是的。意思就是让php输出js脚本,然后在<script></script>里才能运行。
      

  7.   

    我的习惯是:
    echo "
    <script language=\"Javascript\">
    document.write(\"".$name."\");
    </script>";