1

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

DOM 树是用 JavaScript 创建的

textArea = document.createElement('textarea');

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

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

echo $post;
}
?>

回声返回“Hello World”

现在到了这个问题,我如何在动态创建的文本区域内回显输出应该是 <textarea>Hello world</textarea>

有任何想法吗 ?或者一个链接?

谢谢

4

4 回答 4

1

您的应用程序应该如何工作还不是很清楚。是否要使用 ajax 获取数据。这里有些人似乎是这样认为的,尽管你没有这么说。我会假设情况并非如此。如果是解决方案,很可能是让您的PHP脚本返回JSON编码数据,使用解码Javascript并将其插入到textarea.

由于您是动态创建的,因此textarea您还必须使用Javascript. 只需将文本添加到文本.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>';
?>

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

于 2013-03-14T10:20:26.810 回答
1

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

textArea.innerHTML = responseFromXHR;
于 2013-03-14T10:14:53.190 回答
0

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

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

于 2013-03-14T10:15:04.887 回答
0

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

textArea.innerHTML = responseFromAjaxCall;

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

于 2013-03-14T10:24:03.377 回答