2009-02-27 89 views
0

在我的项目中我有这样的情况。嵌入Javascript中的PHP

<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert('Out side PHP'); 
    //Here the php code starts 
    include("customerpage.php"); 
    $cc="us"; 
    $clang="en"; 
    $cpath="us"; 
    some coding goes here...... 
    Php ends here 
} 
</script> 

但它显示了对象的预期错误。这有什么问题?但我只给PHP标签,它不会产生任何错误。请帮助我找出这个问题,在此先感谢...

+0

请使用正确的格式。 – Gumbo 2009-02-27 11:05:21

+0

感谢Formating,这是我期待 – Sakthivel 2009-02-27 11:17:18

回答

12

您试图在基于客户端的语言中嵌入基于服务器的语言。 这不起作用。

如果你可以更多地解释你试图实现的目标,那么可能会有更好的解决方案,比如AJAXie类型的东西。

让我解释一下,因为其他人已经给出了可以放在这里的答案。

您可以将php嵌入您的* .php文件中,该文件将在服务器上解释并在那里解析。使用这个,你可以设置一些变量,这些变量可以在以后用于客户端。就像我说的,虽然客户端没有一个用于解析和解析的路由,所以发送php到用户不会工作。

但是,如果将此试图把事情的工作,使你的PHP设置一些JavaScript值,那么我会像加里·维罗和都铎Olariu都表示,加入PHP标签

<?php 
... PHP CODE... 
?> 

但是,你必须意识到这将在服务器上解释,而不是在客户端上解释。因此,下面的代码将警告“外部的PHP”,然后“内部的PHP”。然后

<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert('outside php'); 
    <?php 
    $message = "inside php"; 
    echo "alert('$message');"; 
    ?> 
} 
</script> 

发送给用户的HTML将

<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert('outside php'); 
    alert('inside php'); 
} 
</script> 

希望这有助于。

2

我不知道JavaScript,但JS是客户端语言,这意味着它会在您的网页用户查看它时在网络浏览器中进行评估。 PHP是服务器端的语言,这意味着它将在承载网页的计算机上进行评估。您的浏览器无法评估PHP代码。 全部 PHP必须在服务器上完成。您必须无条件评估PHP,否则PHP无法评估。然后使用JavaScript来选择要显示的PHP输出的哪一部分 - 这将实现我认为您想要的效果。

0

PHP应该用正确的PHP标签:

<?php include("customerpage.php"); $cc="us"; $clang="en"; $cpath="us"; ?> 

确保您的网页有* .php扩展,并具有安装了PHP的服务器上运行。

+0

,如果我键入,它不会显示,那是你键入n的方式来显示 – Sakthivel 2009-02-27 11:12:47

2

你缺少PHP的开始和标签:

function fonsubmit() 
{ 
    alert('Out side PHP'); 
    //Here the php code starts 

    <?php 
    include("customerpage.php"); 
    $cc="us"; 
    $clang="en"; 
    $cpath="us"; 
    //Php ends here 
    ?> 
} 

请注意,你的PHP代码将在服务器上

1

执行,你的JavaScript踢之前,另一种方法是,以显示PHP内的Javascript。不要将PHP放入Javascript中,而是将Javascript放入PHP中。例如,你可以这样做:

<?php 
echo '<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert("outside php"); 
'; 

    // here is where you insert your PHP code 
    include("customerpage.php"); 
    $cc="us"; 
    $clang="en"; 
    $cpath="us"; 

echo ' 
} 
</script>'; 
?> 

当然,回应Javascript逻辑读不好。你也可以通过回显指定Javascript的开头,

<?php 
echo '<script language="JavaScript">'; 
?> 

然后插入你想要的Javascript。无论何时你想插入PHP代码,都要用<?php?>标签包围它。