Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое создание ифрейма с формой, проблемы с Opera 
:(
    Опции темы
Black Rabbit
Дата 27.6.2006, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 21.10.2004

Репутация: нет
Всего: 2



Здравствуйте!
Задача  такая: необходимо динамично создать ифрейм, поместить в него форму и сделать submit Post методом

Пишу код:
Код


   this._iframe = document.createElement("iframe");
   this._iframe.style.width   = "500";
   this._iframe.style.height  = "300";
   this._iframe.style.border  = "2px solid #000";
   // this._iframe.setAttribute("id","newIframe2");
   // iframe.style.display = 'none';
   document.body.appendChild(this._iframe);  
 
               ... 

  if (this._iframe.contentDocument) 
         IFrameDoc = this._iframe.contentDocument; 
   else if (this._iframe.contentWindow) 
          IFrameDoc = this._iframe.contentWindow.document;
   else if (this._iframe.document) 
         IFrameDoc = this._iframe.document;
  
    var newForm = IFrameDoc.createElement("form");
     newForm.setAttribute("id","sendform");
     var newField = IFrameDoc.createElement("input");
      newField.setAttribute("id","data");
      newField.setAttribute("type","text");
      newForm.appendChild(newField);

    setTimeout(function(){IFrameDoc.body.appendChild(newForm);newForm.submit();},0);              


В ИЕ все нормально, но в опере форма создается не внутри ифрейма, а в теле самого документа, и следовательно происходит перегрузка всей страницы. Можно ли как-нибудь решить эту проблему?
Заранее спасибо 
PM MAIL ICQ   Вверх
Sardar
Дата 27.6.2006, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Black Rabbit, ну и логика smile
Ифрейм создавать не нужно, тем более что старые браузеры типа ИЕ5.0- не умеют создавать ифреймы динамически, хотя забей...
Создавай ифрейм или лучше пусть он будет уже в вёрстке скрытый, главное у становить window.name у фрейма в некоторое имя. Затем создаём форму и ставим ей target в имя ифрейма. После submit, фрейм перезагружаеться, ты получаешь уведомление и удаляешь форму. Другими словами форму лучше создавать в текущем документе, больше контроля и отправлять можно несколько раз (смотря по задаче). 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Black Rabbit
Дата 27.6.2006, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 21.10.2004

Репутация: нет
Всего: 2



Да, я думаю это выход.... Спасибо большое 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1014 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.