Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的HTML输入文件中的内容在哪里消失了?_Javascript_Html_Function_Dom Events - Fatal编程技术网

Javascript 我的HTML输入文件中的内容在哪里消失了?

Javascript 我的HTML输入文件中的内容在哪里消失了?,javascript,html,function,dom-events,Javascript,Html,Function,Dom Events,试图通过HTML FileReader从文件中导入一些字符串开始让我感到痛苦。经过测试,主函数中的警报显示事件完成后消失的内容。 请开导我 <input type="file" id="Open" /> <script type="text/javascript"> function readSingleFile(evt) { var f = evt.target.files[0]; var r = new FileReader(); var content

试图通过HTML FileReader从文件中导入一些字符串开始让我感到痛苦。经过测试,主函数中的警报显示事件完成后消失的内容。 请开导我

<input type="file" id="Open" />
<script type="text/javascript">
function readSingleFile(evt) {
  var f = evt.target.files[0]; 
  var r = new FileReader();
  var contents;
  if (f) {
      r.onloadend = function(evt) { 
        var contents = evt.target.result.substr();
        // this alert show string content
        alert(contents);
      }
      r.readAsText(f);
  }
  // there's no string content - (undefined)
  alert(contents);
}
document.getElementById('Open').addEventListener('change', readSingleFile, false);
</script>

函数readSingleFile(evt){
var f=evt.target.files[0];
var r=新文件读取器();
var含量;
如果(f){
r、 onloadend=函数(evt){
var contents=evt.target.result.substr();
//此警报显示字符串内容
警报(内容);
}
r、 readAsText(f);
}
//没有字符串内容-(未定义)
警报(内容);
}
document.getElementById('Open').addEventListener('change',readSingleFile,false);

文件阅读器对象允许web应用程序异步读取文件内容。 调用r.readAsText(f)后无法立即获取文件内容 您应该在
onloadend
evt
函数中处理内容

就这样

<script type="text/javascript">
    var contents;

    function readSingleFile(evt) {
      var f = evt.target.files[0]; 
      var r = new FileReader();

      if (f) {
          r.onloadend = function(evt) { 
            contents = evt.target.result.substr();
            // this alert show string content
            alert(contents);

            //code for the contents
          }
          r.readAsText(f);
      }
      // there's no string content - (undefined)
      //alert(contents);
    }
    document.getElementById('Open').addEventListener('change', readSingleFile, false);
</script>

var含量;
函数readSingleFile(evt){
var f=evt.target.files[0];
var r=新文件读取器();
如果(f){
r、 onloadend=函数(evt){
contents=evt.target.result.substr();
//此警报显示字符串内容
警报(内容);
//内容代码
}
r、 readAsText(f);
}
//没有字符串内容-(未定义)
//警报(内容);
}
document.getElementById('Open').addEventListener('change',readSingleFile,false);
现在我可以通过单击按钮从另一个函数调用“内容”。但我需要继续处理下一个函数中的“内容”数据吗?从第一个函数末尾调用下一个函数将不起作用。