使用静态内容填充输入类型textarea(不使用ajax调用)

时间:2013-01-30 13:30:35

标签: javascript html ajax

我的html页面中有一个textarea,我希望我能做到这一点:

<textarea id='myTextArea' src='data.txt' />
                          ==============

不幸的是我做不到。 “src”不适用于textarea。

所以我不得不重复一些javascript来进行ajax调用(http get for data.txt),然后填充myTextArea。

ajax是解决这个问题的唯一方法吗?

非常感谢

2 个答案:

答案 0 :(得分:3)

更好的选择可能是通过服务器端语言输出该文件的内容。由于静态内容,额外的HTTP请求并不是必需的。

在PHP中,你可以这样做:

<textarea id='myTextArea'><?php include "data.txt" ?></textarea>
编辑:正如Quentin所指出的那样,您可能希望在将包含的文件注入HTML之前对其进行解析,尤其是如果包含的文件可以很容易地被第三方修改。像htmlspecialchars这样的函数可以用来相应地验证文件内容:

<textarea id='myTextArea'><?php htmlspecialchars(file_get_contents("data.txt")); ?></textarea>

答案 1 :(得分:1)

这应该有效:

<script>

function loadFile()
{
var xmlhttp = new XMLHttpRequest(); 
xmlhttp.open("GET","foo.txt",false);
xmlhttp.send();
var value = xmlhttp.responseText;
document.getElementById("myTextarea").value=value;
}

</script>

和html:

   <body onload="loadFile()">

     <textarea id="myTextarea" cols="20">

    </textarea>

   </body>