PHP JavaScript 调用与 PHP 变量
PHP javascript call with PHP variable
美好的一天,我的PHP代码遇到了一个非常奇怪的错误。我正在尝试通过读取 xml 文件来动态更改网页的内容。我读取了一些数据并将数据分配给一个名为 $course_title 的 PHP 变量,然后尝试调用一些 Javascript 来更新 DOM 元素的"innerHTML"。注意:在"echo $course_title;"行上,将正确的数据打印到屏幕上。
$fn = dirname(__FILE__)."/course.xml";
$xml = simplexml_load_file($fn);
$course_bookimagelocation = "";
foreach ($xml->children() as $child)
{
if($child[0]->getName()=="book")
$course_bookimagelocation = $child;
if($child[0]->getName()=="title")
$course_title = $child;
}
//Problems start here...
echo $course_title;
echo '<script type="text/javascript">document.getElementById("heading").innerHTML = "';
echo $course_title;
echo '";</script>';
非常独特的是,第一个 echo 语句打印了正确的信息,但接下来的三行,.innerHTML 不会更改为相同的值。有谁知道那是什么?同样奇怪的是,如果我将第二个"echo '$course_title';"替换为"Hello world!",那么"Hello World!"就会显示为"heading"id对象的innerHTML。
编辑
在名为 course.xml 的 XML 文件中,title 元素是 IC 210 Fall 2010,$course_title 的内容是 IC 210 Fall 2010,因此 php 文件的解析似乎是正确的,并且没有任何特殊字符,如 " 或 '
我也尝试将所有东西都放在同一条线上,而不是运气......(我什至在 xml 文件中确保
确保.innerHTML = "Some text"
在同一行,因为.innerHTML = "'nSome Text'n"
在javascript中不起作用。
如果你想有这样的东西:
.innerHTML = "
Some String
";
尝试:
.innerHTML = ""+
"Some String" +
"";
调用一些将更新DOM元素的"innerHTML"的Javascript。 为此我们使用AJAX,不是吗?
好吧,您可以这样做,但我认为将文本预加载到一些隐藏的 DIV 中并使用您的函数只是为了更改 DIVS 的内容甚至切换 DIV 的可见性(如您所愿)会更简单。这样,您将避免评论中提到的许多转义问题。
如果不使用 AJAX,这就是我会这样做的方式
- 将PHP变量传递给jQuery时遇到问题
- 通过javascript重定向html传递php变量
- 如何在php变量中嵌入JQuery代码
- 在javascript函数中使用php变量
- 将地理编码结果转换为php变量以发布到mysql数据库
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 从Javascript和Php变量创建Html模板文档
- 如何将php变量作为javascript中列表的元素
- 将PHP变量分配给PHP数组
- 如何在没有ajax的情况下将javascript动态数据发送到php变量
- 在Javascript甜甜圈图的PHP变量中引用PHP变量
- 使用javascript访问php变量
- 在Javascript文件中获取PHP变量
- 如何为Javascript数组()的使用准备PHP变量
- 如何获取PHP变量数据并将其存储在JavaScript变量中
- Javascript变量到PHP变量-如果语句不起作用,则发布
- 通过Javascript验证PHP变量
- 如何将Ajax数据值分配给PHP变量
- 如何在 bootsrap 完整日历中使用 PHP 变量
- 在javascript中调用PHP变量