cop*_*ste 4 html javascript string
我已经尝试使用javascript打开文本文件并获取他的名字和他的内容,所以现在我被困在字符串,因为我使用输入类型文件来获取目录/路径.
无论如何,我的问题是下一个代码有什么问题,我怎样才能使用javascript获取文本文件内容?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Display Text Files</title>
<script type="text/javascript">
var str = document.getElementById('txt').value;
function display() {
if (str != "") {
var filename = str.split("/").pop();
document.getElementById('filename').innerHTML = filename;
}
}
</script>
</head>
<body>
<form method="get" action="#" >
<input type="file" accept="text/plain" id="txt" />
<input type="submit" value="Display Text File" onclick="display();" />
</form>
<a href="#" id="filename"></a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
编辑:我也想在输入文件中禁用所有文件opition(*)到文本文件(.txt).
谢谢!
HBP*_*HBP 13
现代浏览器实现FileReader可以做到这一点 要测试浏览器,请检查是否window.FileReader已定义.
这是我今天早上写的一些代码来做这件事.在我的情况下,我只需将文件拖到HTML元素上,该元素在此处被引用,panel.in1但您也可以使用<input type="file" />(请参阅下面的参考资料).
if (window.FileReader) {
function dragEvent (ev) {
ev.stopPropagation ();
ev.preventDefault ();
if (ev.type == 'drop') {
var reader = new FileReader ();
reader.onloadend = function (ev) { panel.in1.value += this.result; };
reader.readAsText (ev.dataTransfer.files[0]);
}
}
panel.in1.addEventListener ('dragenter', dragEvent, false);
panel.in1.addEventListener ('dragover', dragEvent, false);
panel.in1.addEventListener ('drop', dragEvent, false);
}
Run Code Online (Sandbox Code Playgroud)
它是reader.onloadend获取您在事件处理程序中恢复的文件的文本的函数this.result.
我从MDN获得了大部分关于如何执行此操作的机制:https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications
| 归档时间: |
|
| 查看次数: |
9849 次 |
| 最近记录: |