Я подумал, что если я создам скрытый iframe и поместим в него форму, а затем отправим форму, она будет отправлена в фоновом режиме iframe и не повлияет на основной фрейм браузера:
http://jsfiddle.net/gt7Xq/3/
Если вам лень переходить по ссылке (не вините вас), это то, что происходит последовательно:
// DOM is ready
// create iframe element as child of document.body
// create form as child element of iframe
// create input type=file element as child of iframe form
// submit iframe form
Однако при отправке формы родительская страница перенаправляется на POST-URL атрибута действия формы iframe.
Почему это? Что мне не хватает? Такое же поведение наблюдается в текущей версии Chrome и Firefox 4.
Я пытаюсь загрузить файл в Ajax-подобном поместье. К сожалению, нет способа загрузить файл, используя XMLHttpRequest
. Хотя должен быть хитрость - если вы отправляете загрузку в iframe, она должна загружаться в фоновом режиме. Я пытаюсь добиться этого, но потерпел неудачу.