Javascript 将文本文件上载到Html/JS中的输入

Javascript 将文本文件上载到Html/JS中的输入,javascript,html,Javascript,Html,我有一个输入类型文件,其格式是我希望立即被读取为文本文件,并用于更新文本输入的值: HTML: <input type=file id='uploadfile' name='uploadfile' onchange="uploadCoordinates(this.form)"> 但是,我得到了以下错误:未捕获异常:[异常…”无法转换JavaScript参数arg 0[nsIDOMFileReader.readAsText]“nsresult:“0x8057009(NS_error\

我有一个输入类型文件,其格式是我希望立即被读取为文本文件,并用于更新文本输入的值:

HTML:

<input type=file id='uploadfile' name='uploadfile' onchange="uploadCoordinates(this.form)">

但是,我得到了以下错误:未捕获异常:[异常…”无法转换JavaScript参数arg 0[nsIDOMFileReader.readAsText]“nsresult:“0x8057009(NS_error\u XPC\u BAD\u convert\u JS)”位置:“JS frame::::uploadCoordinates::line 142”数据:否]

尝试此错误您正在尝试读取value.value

正确的代码是

JS: function uploadCoordinates(form) {
       var file=form.uploadfile.value;
       var reader=new FileReader();
       reader.readAsText(file);
       form.coordinates.value=reader.result; }

请尝试此操作。您尝试读取value.value时出错

正确的代码是

JS: function uploadCoordinates(form) {
       var file=form.uploadfile.value;
       var reader=new FileReader();
       reader.readAsText(file);
       form.coordinates.value=reader.result; }

修复错误的更好方法是进一步修改代码和@cons0ul的代码

var rPreviousText;
function uploadCoordinates(formVal) {
   var file = form.uploadfile;
   var reader = new FileReader();
   reader.readAsText(file.value);
   form.coordinates.value = reader.result;
   rPreviousText = reader.result;
   showReadersText(reader.result);
}
function showReadersText(val) {
   alert(val); //I recommend using something better than alert.
}

这比任何一种代码都要可靠得多,并且有一种显示文本文件中的阅读器文本的方法。如果您不需要showReadersText(),只需将其删除并替换为所需的任何代码即可。请注意,在超过一半的主要浏览器中,FileReader对浏览器不友好。它在Chrome、Firefox和IE中运行良好(至少在我测试它们时是如此)。

修复错误的更好方法是进一步修改您的代码和@cons0ul的代码

var rPreviousText;
function uploadCoordinates(formVal) {
   var file = form.uploadfile;
   var reader = new FileReader();
   reader.readAsText(file.value);
   form.coordinates.value = reader.result;
   rPreviousText = reader.result;
   showReadersText(reader.result);
}
function showReadersText(val) {
   alert(val); //I recommend using something better than alert.
}
这比任何一种代码都要可靠得多,并且有一种显示文本文件中的阅读器文本的方法。如果您不需要showReadersText(),只需将其删除并替换为所需的任何代码即可。请注意,在超过一半的主要浏览器中,FileReader对浏览器不友好。它在Chrome、Firefox和IE中运行良好(至少在我测试它们时是如此)。

可能的重复