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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передать запрос POST скрытому фрейму, В IE не работоет!!! 
V
    Опции темы
Папараццы
Дата 27.8.2007, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



 Вот собственно сама страничка которая  грузится в главную страницу , форма которая отправляет и ПХП скрипт который проверяет было ли послано что либо... 
Код

<script type="text/javascript" language="javascript">

  window.onload = function() { 
  var text=document.getElementById('txt'); 
  parent.add(text.innerHTML);
  } 
</script>
<div id="txt">
  <form method="post" action="savedata.php" target="iframe">
    <p>Name:</p><input type="text" name="txtName" value="" />
   <p><input type="submit" value="Send" />
</form>
  
Код

<?php  if(isset($_POST['txtName'])) { echo "<h1> POST REQUEST WORKS PROPERLY </h1>";}
         else { echo "<h1> NO POST !!!</h1>"; }
   ?>

</div>


 Это код главный страницы который обрабатывает этот фрейм (Не указал части которые вызывают фрейм т.к. они вроде как работают )
Код

<script>
   function add(stext) {
    var content=document.getElementById("content"); 
    content.innerHTML=stext;
 }
</script>
 <iframe name="iframe" src=""  height="0" width="0" id="frame"  ></iframe>

 Проблема в том что при нажатее Send,  Firefox выдает ПХП результат что есть ПХП пост. А в Эксплороре..Как бы даже фрейм не меняется .... В чем может быть проблема ? Заранее благодарен..



--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
Ghirik
Дата 27.8.2007, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



Это что, прикол? Или прием какой то особый - name="iframe" а id="frame"



--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
SamDark
Дата 27.8.2007, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


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

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



Папараццы
IE дублирует name в id, так что ничего удивительного тут нет.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Папараццы
Дата 27.8.2007, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А что это имеет какое то отношение ?

Добавлено через 6 минут
Хех прикольно однако.  smile  


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
Ghirik
Дата 27.8.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



Почему они разные то?!!!

Может Mozilla глотает такой бардак, а у IE крыша едет. Как может быть neme одно, а id другое?

Цитата

 
Код

<iframe name="iframe" src=""  height="0" width="0" id="frame"  ></iframe>



Это сообщение отредактировал(а) Ghirik - 27.8.2007, 13:56


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
SamDark
Дата 27.8.2007, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


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

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



Ghirik
Вообще может. name и id никак не связаны и теоретически могут быть разными. Практически же ie иногда шалит.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Ghirik
Дата 27.8.2007, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



IE не понимает parent.add 
Я создал в родителе див с id=div1
и вот такая строчка заработала
Код

parent.div1.innerHTML=text.innerHTML;


Но записал я это не через window.onload , а 

Код

<body onload="var text=document.getElementById('txt'); parent.div1.innerHTML=text.innerHTML;">


Хотя, разницы нет.

Это сообщение отредактировал(а) Ghirik - 27.8.2007, 16:31


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Папараццы
Дата 27.8.2007, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

<form method="post" action="savedata.php" target="frame">

И сама страница 
Код


<iframe name="frame" src=""  height="0" width="0" id="frame"  ></iframe>

 Опять не работает в IE.. а в Мазилле все оки.


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
Папараццы
Дата 27.8.2007, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Пробовал создать ПроксиФрейм где создайтся все элементы и там уже идет submit форму котороя принимает ПОСТ запрос. и Уже потом выводит значение.. Крч что то у мен там запуталось.. Всетаки не понимаю можно ли послать ПОСТ запрос в скрытый фрейм без прокси форм  ?  Методом вроде этого ???  Если можно плз с примером  smile . 


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
Папараццы
Дата 27.8.2007, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

<input  onclick="alert('Xixi');" type="submit" value="Send" />

  У меня в IE 7.0 даже это не работает после того как я нажимаю... Интресно очень..Будто не выполняет JavaScript. От чего это может быть  ?


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
Папараццы
Дата 27.8.2007, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

<script>
   function add(stext) {
    var content=document.getElementById("content"); 
    content.innerHTML=stext;
 }
</script>

  Вот этот код в Мозилле переносит <script></script> , тот что в stext и все работает а IE не переносит.. И не исполняет эти скрипты.


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
Ghirik
Дата 27.8.2007, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



Мне нужно решить аналогичную задачу. Потому я занялся этим вапросом. Пока сделал только чтение контента из iframe в div по событию "onload" на родительской странице. Выглядит это так:
Родительская страница:
Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>name2</title>
</head>
<body>
<div id="div1"></div>
<p><iframe name="I1" src="name.htm" onload="if(this.contentDocument){div1.innerHTML=this.contentDocument.body.innerHTML}">
Ваш обозреватель не поддерживает встроенные рамки или он не настроен на их отображение.
</iframe></p>
</body>
</html>

Страница подгружаемая в iframe:
Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Name</title>
</head>
<body onload="text=document.getElementById('txt');parent.div1.innerHTML=text.innerHTML">
<p id="txt">
jkhgkjgh kjhg kjhg kjhg kjhg kjh
kjghkjhgkjhg kjhg kjhg kjhg kjhg 
</p>
</body>
</html>


Допускаю, что такой подход несколько корявый, но если кто знает как это сделать правильно, подскажите, пожалуйста.
До сервера пока не добрался. Надеюсь, что проблем не возникнет.

Добавлено @ 20:04
Цитата(Папараццы @ 27.8.2007,  19:48)
Код

<script>
   function add(stext) {
    var content=document.getElementById("content"); 
    content.innerHTML=stext;
 }
</script>

  Вот этот код в Мозилле переносит <script></script> , тот что в stext и все работает а IE не переносит.. И не исполняет эти скрипты.


Нужно правильно "привязать" события. Использовать для Mozilla - onload в iframe, а для IE onload в подгружаемой странице.
Приведенный мной код, работает везде.

Это сообщение отредактировал(а) Ghirik - 27.8.2007, 20:24


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Ghirik
Дата 27.8.2007, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 13
Всего: 20



Папараццы, удалите обе Ваши функции add(stext) и window.onload, и припишите, как у меня обработку событий onClick. Всё должно заработать. Только нужно создать объект, который будет принимать данные. У меня - div1.

Это сообщение отредактировал(а) Ghirik - 27.8.2007, 20:41


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Папараццы
Дата 27.8.2007, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Дело в том что сейчас под FireFox не работает : (

Добавлено через 14 минут и 37 секунд
 Вот правильный метод решение этой проблемы ( взят с книги Ajax для профессионалов. ) Смотри прикрепленный архив!
 
Но у меня скажем так все отлично работало с функцией add(stext) {} . Только вот ПОСТ  на отказ отказывается.. 
 А Мазилла как я понел в последнем выражение не понимает именно это - parent.content.innerHTML=text.innerHTML т.е. Элемент content. Как сделать чтобы он его понял ???

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  Hidden_IFrame_Examples.rar 1,92 Kb


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
Папараццы
Дата 27.8.2007, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



 Кстати вот что заработало вроде бы нормально...
Код

<body onload="var text=document.getElementById('txt'); parent.add(text.innerHTML); >



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


 




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


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

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