2015-09-21 3 views
0

Я новичок в яваскрипт и хотите загрузить файл без того, чтобы нажать на кнопку загрузки файлаЗагрузите файл автоматически без использования кнопки щелчка

Я использую следующий сценарий, и я хочу текст, который будет загружен автоматически в текстовом поле.

<html> 
    <body> 
     <table> 
      <tr> 
       <td>Select a File to Load:</td> 
       <td> 
        <input type="file" id="fileToLoad"> 
       </td> 
       <td> 
        <button onclick="loadFileAsText()">Load File</button> 
       <td> 
      </tr> 
      <tr> 
       <td colspan="3"> 
        <textarea id="inputTextToSave" style="width:512px;height:256px"></textarea> 
       </td></tr> 
      </tr> 
     </table> 
    </body> 
</html> 

<script type='text/javascript'> 
function loadFileAsText() 
{ 
    var fileToLoad = document.getElementById("fileToLoad").files[0]; 
    var fileReader = new FileReader(); 
    fileReader.onload = function(fileLoadedEvent) 
    { 
     var textFromFileLoaded = fileLoadedEvent.target.result; 
     document.getElementById("inputTextToSave").value = textFromFileLoaded; 
    }; 
    fileReader.readAsText(fileToLoad, "UTF-8"); 
} 
</script> 

Заранее благодарим за помощь.

ответ

1

Попробуйте добавить атрибут onchange, это вызовет функции, когда изменения будут внесены на этот вход.

<input type="file" id="fileToLoad" onchange="loadFileAsText()"> 

Demo

function loadFileAsText(){ 
 
var fileToLoad = document.getElementById("fileToLoad").files[0]; 
 
var fileReader = new FileReader(); 
 
    fileReader.onload = function(fileLoadedEvent){ 
 
     document.getElementById("inputTextToSave").value = fileLoadedEvent.target.result; 
 
    }; 
 
fileReader.readAsText(fileToLoad, "UTF-8"); 
 
}
<table><tr> 
 
<td>Select a File to Load:</td> 
 
<td><input type="file" id="fileToLoad" onchange="loadFileAsText()"></td> 
 
           <!-- ^^ onchange attribute added ^^ --> 
 
</tr><tr> 
 
<td colspan="2"><textarea id="inputTextToSave" style="width:512px;height:256px"></textarea></td> 
 
</tr></table>

Если у вас есть какие-либо вопросы по поводу выше исходного кода, пожалуйста, оставьте комментарий ниже, и я вернусь к вам, как как можно скорее.

Надеюсь, это поможет. Счастливое кодирование!

+0

Абсолютно отлично. Большое спасибо... :) –

0

Вы можете просто вызвать функцию по себе, как это:

loadFileAsText(); 
+0

Спасибо за комментарий. Однако я все еще не знаю, что делать. Можете ли вы изменить код ... –

+0

Просто добавьте это в свой файл сценария 'window.onload = loadFileAsText;' – vsvs

+0

Спасибо. @TurboTech. Я уверен, что что-то нужно было бы удалить из кода. Я не уверен –

0

Вы можете сделать это с помощью событий JavaScript. напр: вы можете позвонить, как показано ниже:

<input type="file" id="fileToLoad" onblur="loadFileAsText()"> 
+0

Спасибо за ответ @Manju. Поскольку я новичок в javascript, как выглядит точный код. Если вы можете помочь ... –

+0

Я просто просмотрел ваш код, в основном вы пытаетесь прочитать данные файла и отображать его. однако функция loadFileAsText() еще не делает этого. – Manju

+0

проверьте точный код, который я разместил в https://jsfiddle.net/jage0e48/1/, чтобы прочитать данные файла и отобразить его – Manju

Смежные вопросы