Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.08.2012, 12:38
Интересующийся
Отправить личное сообщение для Vincent Посмотреть профиль Найти все сообщения от Vincent
 
Регистрация: 22.08.2012
Сообщений: 11

iFrame, отправка файла, завершение загрузки и вопросы взаимодействия
Привет. Вникаю в js по мере возникновения необходимости.
Надо:
1. Отправить файл на сервер
3. Если возникла ошибка при загрузке - отобразить сообщение об ошибке
3. Если условие из п.2 не наступило, обновить некую информацию на странице после обращения к БД
4. Ожидать получения информации от сервера и динамически отображать ее на той же странице.

Вот информация, которую мне удалось найти и понять:
1. Файл, без перезагрузки страницы, можно отправить только средствами iFrame.
2. При этом надо как то понять, завершена ли загрузка или нет. Это можно сделать отображением xml в скрипте, который будет загружать файл (на который будет отправлена форма в iframe). В том же скрипте сделать событие onload(), после его наступления проверять - есть ли сообщение об ошибке, если нет - передавать управление другой функции, которая
3. средством xmlHTTPRequest() обновит БД, затем обновит информацию на странице (к примеру сообщение "ОК" в определенном участке странциы), затем
4. передаст управление другой функции, которая в цикле будет опрашивать(?) сервер и получая ответ будет обновлять необходимую информацию на странице.

Верно ли я понял, или это изобретение велосипеда?
Может есть более оптимальный способ?
Ответить с цитированием
  #2 (permalink)  
Старый 22.08.2012, 12:46
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Vincent
1. Отправить файл на сервер
какой Файл ?
Картинку - бинарник - текст ?
Ответить с цитированием
  #3 (permalink)  
Старый 22.08.2012, 13:07
Интересующийся
Отправить личное сообщение для Vincent Посмотреть профиль Найти все сообщения от Vincent
 
Регистрация: 22.08.2012
Сообщений: 11

Deff, любой, и картинку и бинарник
Ответить с цитированием
  #4 (permalink)  
Старый 22.08.2012, 13:22
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Vincent,
Ну тады форму отправляем во фрейм, на фреймо странице скрипт - выдающий на родителя инфу об удачности - неудачности отправки , к примеру запустить функцию на главной странице (если фрейм на том же домене - проблем быть не должно)
По инфе об удачности - в данной функции продолжаем свои действия на главной так или иначе
Ответить с цитированием
  #5 (permalink)  
Старый 22.08.2012, 13:36
Интересующийся
Отправить личное сообщение для Vincent Посмотреть профиль Найти все сообщения от Vincent
 
Регистрация: 22.08.2012
Сообщений: 11

Сообщение от Deff Посмотреть сообщение
скрипт - выдающий на родителя инфу об удачности - неудачности отправки
Deff, вот это не совсем понял. Скрипт должен срабатывать по событию onload() фреймостраницы, так как я и написал, или как то по другому?
Ответить с цитированием
  #6 (permalink)  
Старый 22.08.2012, 13:54
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Vincent,
Onload - долгое событие - секунды - лучше сам фрейм сообщает скриптом на родителя - это задолго до онлоад
2. Можно не мучать главную - а сразу поставить форму во фрейм, а там, она без таргет меняет адреса и т.д - по окончанию деяний можно из фрейма сообщить скриптом на родителя - что можно фрейм удалять
Ответить с цитированием
  #7 (permalink)  
Старый 22.08.2012, 15:37
Интересующийся
Отправить личное сообщение для Vincent Посмотреть профиль Найти все сообщения от Vincent
 
Регистрация: 22.08.2012
Сообщений: 11

Deff, можно пример накидать схематично или более подробно описать? "сам фрейм сообщает скриптом на родителя" это как? чем?
"по окончанию деяний можно из фрейма сообщить скриптом на родителя" это так же не совсем понятно, сообщать так же средствами js?
Ответить с цитированием
  #8 (permalink)  
Старый 22.08.2012, 16:27
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Ну к примеру на странице фрейма
<script type="text/javascript">
if(parent.document!=this.document){

	parent.MyAlert(); //Вызываем Функцию с Главной

}
</script>

На Главной
<script type="text/javascript">
 function MyAlert() {

	alert("Он во фрейме")
}
</script>

Последний раз редактировалось Deff, 22.08.2012 в 16:29.
Ответить с цитированием
  #9 (permalink)  
Старый 22.08.2012, 18:59
Интересующийся
Отправить личное сообщение для Vincent Посмотреть профиль Найти все сообщения от Vincent
 
Регистрация: 22.08.2012
Сообщений: 11

Ага.. т.е., верно ли я понимаю, код во фрейме сработает сразу после его загрузки? но тогда зачем нужна проверка
Код:
if(parent.document!=this.document){
если это условие будет выполнено в любом случае?
Ответить с цитированием
  #10 (permalink)  
Старый 22.08.2012, 19:07
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Vincent,
А если Вы откроете страницу не во фрейме - а чисто в браузере ?
Если не нужна -выкиньте
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенести html-элементы из iframe в родителя при синхронной загрузки gaer87 Internet Explorer 0 20.11.2011 23:25
загрузка файла через скрытый iframe и потеря связи с сервером vahrusha AJAX и COMET 5 01.06.2011 14:43
IFRAME Обработка загрузки данных root-master Общие вопросы Javascript 1 17.02.2011 15:12
Кроссбраузерная отправка файла space AJAX и COMET 14 13.11.2010 02:15
Поле загрузки файла kotofeich Элементы интерфейса 3 30.07.2008 11:24