我试图将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>
有什么想法吗?还是链接?
由于
答案 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代码。