当我返回值“文件名”,并尝试使用document.getElementById(“ getfilename”)。innerHTML = filename显示该值时,该值不显示。我试图使用宏录制来检查值'filename'的保持,是的,它保持了我想要的值。但在尝试打印时不显示。我的代码有什么错误吗?
html代码:
<form>
<input type='file' id="poem" accept='text/plain' onchange='printPoem(event)' >
</form>
<script>
if (filename !== null){
document.getElementById("getfilename").innerHTML = filename;
//document.write(filename);
}
</script>
js代码:
function printPoem(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var text = reader.result;
//document.write(reader.result.substring(0, 200));
var fullPath = document.getElementById("poem").value;
if (fullPath) {
var startIndex = (fullPath.indexOf('\\') >= 0 ?
fullPath.lastIndexOf('\\') : fullPath.lastIndexOf('/'));
filename = fullPath.substring(startIndex);
if (filename.indexOf('\\') === 0 || filename.indexOf('/') === 0{
filename = filename.substring(1);
}
//alert(filename);
}
document.getElementById("displayPoem").innerHTML = text;
};
reader.readAsText(input.files[0]);
return(filename);
}
第二个问题,如何使用这些输入按钮传递试图尽早显示的值(文件名)?
<input type="button" class="button" value="Visualize" onclick="window.location.href='visualization.html'">
答案 0 :(得分:0)
<script>
标签时,将执行其中的javascript。我认为您的问题是更改事件尚未触发,程序中没有文件名变量。可以将这些代码放入printPoem函数中。