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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чат без обновления "отсылочного" окна, проблема с фреймами. 
:(
    Опции темы
HappyMan
  Дата 7.9.2005, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Главная задача - отправка сообщения без обновления страницы (той в которой текс. поле и кнопка)

Есть текстовое поле и кнопка субмит - они в форме.
Я хочу, чтобы при нажатии на кнопку данные отсылались в фрейм по соседству, там пхп скрипт обрабатывает и заносит сообщение в базу и т.д. в Итоге это окно (где форма) не перезагрузится, а перезагрузится только невидимый фрейм!

Итак:

Код

<form method='post' target="sendFrame">



фрейм "по соседству":
Код

    <tr>
        <td align="right">
            <iframe name="sendFrame" src="sendMes.php" align="right" scrolling="no" border="0" frameborder="0" width="1" height="1">
            </iframe>
        </td>
    </tr>



и пхп кодsmileтоже очень важно):
Код

<html>
    <head>
    </head>
<body>
<?
$mText = $_POST["mes"];

?>
<script language="JavaScript">
        parent.main.p.innerHTML = '<? echo "Message: ".$mText; ?>';    
</script>
<?

?>
</body>
</html>




main:
Код

<html>
    <head>
    </head>
    
<body>

    <div id="p"></div>

</body>


</html>



Появляется ошибка: 'parent.main.p' is null or not an object

что не так?


--------------------
Цитата
Желательно на 100%.
© Mal Hack
PM MAIL   Вверх
Aliance
Дата 7.9.2005, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Учимся задавать вопросы граммотнее, тут нет экстрасенсов!
Нужно было указать код твоего input`а, иначе мне только приходится догадываться о том, что он таков:
Код

<INPUT type="text" name="mes" />


Кроме того, у тебя не фреймы, а ифрейм, соответственно откуда берется определение main?
К документу, являющимся родительским по отношению к ифрейму, из оного нужно обращаться просто parent.

Далее, отвыкаем от обращения к ID прямолинейным способом, как к свойству объекта document, это неправельно.

Исправь:
Код

<script language="JavaScript">
parent.document.getElementById('p').innerHTML = '<?="Message: {$mText}";?>';    
</script>


Вот только в твоем php коде я не уверен...
PM MAIL WWW ICQ Skype   Вверх
HappyMan
Дата 8.9.2005, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



для Aliance

parent.document.getElementById(...) - is null or not an object

Добавлено @ 18:14
chat.htm
Код

<html>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<frameset rows="0,*" FRAMESPACING="0" frameborder="0" BORDER="0">
<frame NORESIZE FRAMEBORDER="0" name="dummy" src="dummy.php">
<frameset FRAMESPACING="0" frameborder="0" BORDER="0" rows="*,30">
    <frameset cols="*,22%">
<frame FRAMEBORDER="0" name="main" src="mainChat.php" scrolling="yes">
        <frame name="nicklist" src="users.php" FRAMEBORDER="0" scrolling="yes">
</frameset>
  <frame NORESIZE FRAMEBORDER="0" name="chat2" src="input.php" scrolling="no">
</frameset>
</frameset>
</html>

Добавлено @ 18:17
input.php

Код

<html>
    <head>
        <link href='css/style.css' type='text/css' rel=stylesheet>
        <meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
    </head>
    
<body topmargin='0' leftmargin='0' class='bgc'>

<table height='31' width='100%'>
<form method='post' target="sendFrame">
    <tr>
        <td>Ñîîáùåíèå:
            <input id='myText' name='mes' type='text' maxsize='400' size='65'/>
            <input type="submit" value="Îòïðàâèòü">
        </td>
    </tr>
    <tr>
        <td align="right">
            <iframe name="sendFrame" src="sendMes.php" align="right" scrolling="no" border="0" frameborder="0" width="1" height="1">
            </iframe>
        </td>
    </tr>
</form>
</table>

</body>

</html>

Добавлено @ 18:18
sendMes.php

Код

<html>
    <head>
    </head>
<body>
<?
$mText = $_POST["mes"];

?>
<script language="JavaScript">
    parent.document.getElementById('p').innerHTML = "test!";
</script>
<?
?>
</body>
</html>


Это сообщение отредактировал(а) HappyMan - 8.9.2005, 18:27


--------------------
Цитата
Желательно на 100%.
© Mal Hack
PM MAIL   Вверх
HappyMan
Дата 8.9.2005, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Aliance
наверно проблема в том, что ифрейм находится в табле Инпут.пхп, и при вызове этого фрейма он не видит тот "верхний"...


--------------------
Цитата
Желательно на 100%.
© Mal Hack
PM MAIL   Вверх
Aliance
Дата 8.9.2005, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Начинал бы сразу с этого.
Код

parent.parent.main.document.getElementById();

PM MAIL WWW ICQ Skype   Вверх
HappyMan
Дата 11.9.2005, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Aliance
parent.parent.main.document.getElementById(...) - is null or not an object


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


 




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


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

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