[英]Insert php in javascript inside echo
我在echo中有我的Javascript,但我希望它在PHP中也有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>";
}
?>
从技术上讲,包括HTML或CSS或JavaScript中的PHP都没有区别。 HTML是静态的。 CSS和JavaScript是补充HTML的客户端动态语言。 它们将HTML或PHP或任何其他服务器端语言无法完成的功能添加到HTML。
这就是为什么在JavaScript中使用PHP被认为是反模式的原因。 CSS和JavaScript应该执行服务器端无法控制的动作。 因此,这些操作的所有信息都应该在客户端。 当可以在PHP页面中找到JavaScript代码时,维护会更加困难。 而是创建一个.js文件,进行函数调用以返回doc_add.php中的内容并继续执行。
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>";
}
只需回显其他部分。
顺便说一句,您可以将'
用作回显,这样就不必在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>';
}
首先,您需要了解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
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.