echo里面动态创建的div-tag php javascript

时间:2013-03-14 10:11:43

标签: php javascript xml ajax

我试图将xml值回显到动态创建的div标签,但我似乎无法找到有关它的任何信息。

使用JavaScript

创建DOM树
textArea = document.createElement('textarea');

输出变为<textarea></textarea>这里没问题... 然后我用简单的php从xml文件中获取值。

<?php
foreach($xml->sticker as $sticker ){
$post = $sticker->text . "</br>";
$post;

echo $post;
}
?>

并且echo返回“Hello World”

现在问题是,如何在动态创建的textarea中回显 输出应该是 <textarea>Hello world</textarea>

有什么想法吗?还是链接?

由于

4 个答案:

答案 0 :(得分:1)

如果您使用XHR成功加载xml,那么您可以将响应放在textarea中:

textArea.innerHTML = responseFromXHR;

答案 1 :(得分:1)

关于你的应用程序应该如何工作还不是很清楚。如果您想使用ajax获取数据。虽然你没有说明,但这里的一些人似乎也这么认为。我会假设情况并非如此。如果是解决方案,则最有可能让您PHP脚本返回JSON个编码数据,使用Javascript对其进行解码并将其插入textarea

由于您动态创建textarea,因此您还必须使用Javascript动态填充文本。只需将文本添加到textarea的.innerHTML

一些if签入PHP以确保文本应该打印并且textarea存在,然后使用PHP将其添加到Javascript中。

echo 'textArea.innerHTML = "' . $post;

如果您打算在同一posts内打印所有textarea,则可以执行类似

的操作
<?php
  echo '<script>';
  echo 'textArea = document.createElement(\'textarea\');';
  foreach($xml->sticker as $sticker ){
    $posts .= $sticker->text . "\n\r";
    echo $post;
  }

  echo 'textArea.innerHTML = "' . $posts;
  echo '</script>';
?>

如果您愿意,也可以检查Javascript中是否存在textarea's。您可能不会对放入textarea的文本进行一些过滤。

答案 2 :(得分:0)

您是如何从XML文件中获取值的?

在PHP中,返回一个字符串或JSON对象,然后在AJAX回调中,将数据插入到所需的位置。

答案 3 :(得分:0)

返回“Hello World”的php脚本必须通过AJAX调用,并且成功回答就像'apelsinapa'所说:

textArea.innerHTML = responseFromAjaxCall;

否则 - 在JavaScript创建textarea节点之前,服务器会解析PHP代码。