在我的项目中我有这样的情况。
<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>
但它显示了Object预期的错误。这有什么问题?但我只给PHP标签它不会产生任何错误。请帮助我找出这个问题,提前谢谢......
答案 0 :(得分:12)
您尝试在基于客户端的语言中嵌入基于服务器的语言。 这不起作用。
如果你能解释一下你想要实现的目标,可能会有一个更好的解决方案,比如AJAXie类型的东西。
让我再解释一下,其他人已经给出了可以放在这里的答案。
您可以在* .php文件中嵌入php
,这些文件将在服务器上解释并在那里进行解析。使用此功能,您可以设置javascript稍后可以获取的变量,并在客户端使用。就像我说的那样,尽管客户端没有用于解释和解析php
的路由,因此向用户发送php
是行不通的。
如果你是想让事情变得有效,那么你的php会设置一些javascript值,那么我会像Gary Willough和Tudor 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>
希望这有帮助。
答案 1 :(得分:2)
我不了解JavaScript,但JS是客户端语言,这意味着它会在网页浏览器中进行评估,因为您的网页用户会查看它。 PHP是服务器端语言,这意味着它是在托管您网页的计算机上进行评估的。您的浏览器无法评估PHP代码。 所有 PHP必须在服务器上完成。您必须无条件地评估PHP,否则无法对PHP进行评估。然后使用JavaScript选择要显示的PHP输出的哪一部分 - 这将达到我认为你想要的效果。
答案 2 :(得分:2)
您缺少php start和标签:
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代码将在您的javascript启动之前在服务器上执行
答案 3 :(得分:1)
另一种方法是在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代码时,用&lt;?php?&gt;包围它。标签
答案 4 :(得分:0)
PHP应该包含在正确的php标签中:
<?php include("customerpage.php"); $cc="us"; $clang="en"; $cpath="us"; ?>
确保您的网页具有* .php扩展名,并在安装了PHP的服务器上运行。