JavaScript函数不起作用。如何解决?

问题描述 投票:0回答:4

我有以下JavaScript代码:Link

其中makewindows函数似乎不起作用。

它确实创建了一个窗口,但是html包含引号,或者我将其更改为

child1.document.write(json_encode($row2["ARTICLE_DESC"]));

创建空白的html页面。

我将此函数移到了我的主JavaScript文件中,因为以前以前遇到错误,但是现在popupwindow中没有HTML。这是因为我没有在thest3.php中检索article_Desc吗?

使用的其他2个文件在这里:linktest3.php

php javascript ajax
4个回答
3
投票

$ row2 [“ ARTICLE_DESC”]是PHP变量。

它确实是一个php变量,但是它没有被呈现为php,因为它没有包含在<?php ?>标记中

所以,正确的方法是:

child1.document.write(<?php echo json_encode($row2["ARTICLE_DESC"]); ?>);

这样,作为服务器端语言的php将在呈现页面之前在$ row2中呈现该值,因此当该页面最终呈现时,该值将在javascript write函数中……应该是。


2
投票

要打印php变量,您需要php标签:

child1.document.write(<?php echo json_encode($row2["ARTICLE_DESC"]); ?>);

0
投票

$ row2 [“ ARTICLE_DESC”]是PHP变量。


-1
投票

我怀疑PHP解释器对其进行了解析后,其中包括了javascript。尝试在makewindows中添加一个参数,并在构造HTML时通过该参数传递要使用的值。

 ...
 <p><a href='#' onclick='makewindows('"
  . json_encode($row2["ARTICLE_DESC"])
  . "'); return false;'>...


function makewindows(html){
   child1 = window.open ("about:blank");
   child1.document.write(html);
   child1.document.close();
}
© www.soinside.com 2019 - 2024. All rights reserved.