我有我的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>";
}
?>
答案 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
}
?>