Загрузка файла в форму без обновления страницы - PullRequest
2 голосов
/ 12 апреля 2011

У меня есть этот бит кода:

<form name="myUploadForm" method="post" action="/scripts/upload.do" enctype="multipart/form-data" id="fileUpload">
   <table width="100%" border="0"> 
      <tr>
         <td>
            <input type="file" name="xlsFile" size="60" value="test.xls"> 
            <input type="button" value="Upload File" name="upload_xls">
         </td>
      </tr>
   </table>
</form>

Сейчас я могу загрузить файл с помощью Struts, но он обновляет страницу. Как мне это сделать без обновления страницы?

Ответы [ 4 ]

5 голосов
/ 09 декабря 2013

Что сработало для меня:

В теге формы у меня есть target = "hidden-iframe"

скрытая i-рамка на странице выглядит так:

<iframe name="hidden-iframe" style="display: none;"></iframe>

Здесь важно подчеркнуть, что форма ссылается на атрибут name фрейма, а не на id .

1 голос
/ 23 апреля 2017

Вы можете отправить форму с помощью jQuery и получить результат обратно.

$('#formId' ).submit(
    function( e ) {
        $.ajax( {
            url: '/upload',
            type: 'POST',
            data: new FormData( this ),
            processData: false,
            contentType: false,
            success: function(result){
                console.log(result);
                //$("#div1").html(str);
            }
        } );
        e.preventDefault();
    } 
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="formId" action="/upload" enctype="multipart/form-data" method="post">
        <input type="text" name="title"><br>
        <input type="file" name="upload" multiple="multiple"><br>
        <input type="submit" value="Upload">
</form>
<div id="div1">
</div>
1 голос
/ 12 апреля 2011

Если вы можете использовать jQuery, вы можете использовать что-то вроде jQuery File Upload .

0 голосов
/ 11 августа 2013

Существует два метода:

  1. HTML5 поддерживает File API.
  2. Создайте скрытый iframe, укажите свойство 'target' формы на его идентификатор.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...