Загрузка текстового файла для ввода в Html / JS - PullRequest
1 голос
/ 23 марта 2012

У меня есть файл типа ввода в форме, которую я хотел бы немедленно прочитать как текстовый файл и использовать для обновления значения ввода текста:

HTML:

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

JS:

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

Однако, я получаю следующую ошибку: необработанное исключение: [Исключение ... "Не удалось преобразовать аргумент JavaScript arg 0 [nsIDOMFileReader.readAsText]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: https://portal.nersc.gov/project/als/ShirleyXAS/ShirleyXAS.js :: uploadCoordinates :: строка 142 "данные: нет]

Ответы [ 2 ]

1 голос
/ 23 марта 2012

попробуйте, есть ошибка, вы пытаетесь прочитать value.value

Правильный код

JS: function uploadCoordinates(form) {
       var file=form.uploadfile.value;
       var reader=new FileReader();
       reader.readAsText(file);
       form.coordinates.value=reader.result; }
0 голосов
/ 02 ноября 2016

Лучшим способом сделать это, исправив ошибку, является дальнейшая модификация вашего кода и кода @ 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 (по крайней мере, когда я их тестировал).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...