【发布时间】:2012-12-07 04:31:00
【问题描述】:
我正在尝试做这个用户想要做的同样的事情:
How to fill in a text field with drop down selection
而且效果很好。除了我的下拉菜单项的“值”是文本文件的本地路径(在 linux 服务器上),而不是打印出该路径,我想加载文本文件的实际内容。
而不是直接加载值
mytextbox.value = mytextbox.value + this.value; //to appened
我想加载this.value(例如/var/files/myfile.txt)指向的文件(在服务器而不是客户端)。
我的搜索显示 JS 无法做到这一点,但我希望有一种简单的方法可以做到这一点。
** 我应该提到这是在 perl-cgi 脚本中格式化的 HTML
【问题讨论】:
-
对 AJAX 类型库做一点研究,比如 Jquery。它们应该能够处理来自文本文件的内容并加载到 javascript 函数中。
-
HTML5 为您提供了一种加载本地文件的方法。 html5rocks.com/en/tutorials/file/dndfiles
-
从 返回的值与路径字符串有什么不同吗?
-
为每个文件创建一个 JSON 对象,例如: var fileA = {"content": "Paste the file here"} 然后访问文件内容,如 fileA.content
-
如果您使用 JSON 和 Perl 脚本(或任何其他服务器端脚本),请确保不要告诉它只打开、读取和打印它传递的任何路径。那样会造成巨大的安全风险!相反,要么给文件编号并构建它,以便文件读取脚本知道这些,或者更好地让它检查它广泛接收的路径。例如,它不能打开以
/开头的内容,或包含..的路径。这样,入侵者就可以获取服务器配置或密码文件等敏感数据。他还可以使用他的参数执行像rm -rf /这样的代码。
标签: javascript html perl drop-down-menu cgi