Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Опять скроллы...
 
 автор: Whi-teOoS   (15.10.2006 в 20:29)   письмо автору
 
 

Ситуация: Див в нем Ифрэйм, по загрузке его надо прокрутить до низа, юзаю


onLoad=document.getElementByID('frm').scroll(0,99999); setTimeout('document.getElementByID('frm').scroll(0,99999);',9);


и не работает...

   
 
 автор: 12345   (15.10.2006 в 21:55)   письмо автору
 
   для: Whi-teOoS   (15.10.2006 в 20:29)
 

Это метод для окон, читайте справочник

   
 
 автор: Whi-teOoS   (15.10.2006 в 22:34)   письмо автору
 
   для: 12345   (15.10.2006 в 21:55)
 

А чем фрейм не окно?

   
 
 автор: Whi-teOoS   (15.10.2006 в 22:39)   письмо автору
 
   для: Whi-teOoS   (15.10.2006 в 20:29)
 

Разобрался, нада так

onLoad=parent.frames['frm'].scroll(0,99999);setTimeout(parent.getElementByID('frm').scroll(0,99999);,9);

   
 
 автор: Whi-teOoS   (16.10.2006 в 19:13)   письмо автору
 
   для: Whi-teOoS   (15.10.2006 в 22:39)
 

onLoad=parent.frames['chat'].frames['frm'].scroll(0,99999);

Теперь такая проблема, все это дело было положено во фрейм (структура: фрейм - див - фрейм) и это отказывается работать в ФайрФоксе... Как тут быть?

   
 
 автор: 12345   (16.10.2006 в 19:49)   письмо автору
 
   для: Whi-teOoS   (16.10.2006 в 19:13)
 

Проще пользоваться абсолютным отсчётом, наверное, ошибка в счёте раrents:

top.frames['chat'].frames['frm'].scroll(0,99999);

   
 
 автор: Whi-teOoS   (16.10.2006 в 20:30)   письмо автору
 
   для: 12345   (16.10.2006 в 19:49)
 

Не помогло, Консоль JavaScriрt в Файр Фоксе выдает такие дела:

Ошибка: top.frames.chat has no properties
Источник: http://192.168.102.31/chat_form.php
Строка: 1

Может я вообще неправильно чет делаю?

Коды:



<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
        <LINK rel="stylesheet" href="style/chat.css">
    </head>
    <body>
        <NOSCRIPT>Для корректной работы страницы необходимо включить поддержку JavaScript.</NOSCRIPT>
        <IFRAME id='chat' FRAMEBORDER=0 SCROLLING=NO noresize marginHeight=0 marginWidth=0 class=chat SRC="chat_form.php"></iframe>
    </body>
</html>


то, что лежит в фрейме


            <DIV class=chat-background id='bgd'>
                <DIV class=chat-for_posts>
                    <IFRAME readonly id='frm' FRAMEBORDER=0 class=chat-for_posts-frame onLoad=top.frames['chat'].frames['frm'].scroll(0,99999); SRC="content.php"></iframe>
                </DIV>


...

   
 
 автор: Whi-teOoS   (17.10.2006 в 00:17)   письмо автору
 
   для: Whi-teOoS   (16.10.2006 в 20:30)
 

Разобрался, файрфокс воспринимает только имена, ИЕ и Опера и имена и ИД.

   
 
 автор: 12345   (17.10.2006 в 03:49)   письмо автору
 
   для: Whi-teOoS   (17.10.2006 в 00:17)
 

Для FF надо:

top.document.frames['chat'].frames['frm'].scroll(0,99999);

   
 
 автор: Whi-teOoS   (17.10.2006 в 13:07)   письмо автору
 
   для: 12345   (17.10.2006 в 03:49)
 

Я все не через ид а через имена сделал и в последнем ФФ, ИЕ и Опере все работает наура...

Правда теперь другой вопрос =)

Есть страница на ней фрейм в нем див в нем форма... по нажатию элемента в форме меняется другой элемент формы...

Получается что мы, чтобы получить доступ к элементу формы идем от главной страницы?

Тоесть: top.document.frames['name_frame'].forms['name_form'].{form_element} ?

Или от документа который во фрейме?

Так: document.forms['name_form'].{form_element}

оба варианта не работают... Влюбом случае возвращается "has no properties"

   
 
 автор: Whi-teOoS   (18.10.2006 в 23:05)   письмо автору
 
   для: Whi-teOoS   (17.10.2006 в 13:07)
 

Нид хелп ^

   
 
 автор: 12345   (18.10.2006 в 23:53)   письмо автору
 
   для: Whi-teOoS   (18.10.2006 в 23:05)
 

top.document.frames['chat'].document.frames['frm'].scroll(0,99999);
Это к прежнему вопрсу.
К другому - что за фигурные скобки в непотребном месте?
Лучше выложите архив с htm и вопросом, а то трудно понять вопрос и способ его решения

   
 
 автор: Whi-teOoS   (19.10.2006 в 12:35)   письмо автору
 
   для: 12345   (18.10.2006 в 23:53)
 

Вопрос таков... Есть страница (index) , на странице фрейм (name_frame), во фрейме отображается страница на которой есть форма (name_form) ... Вопрос в том, как получить доступ к элементу данной формы?

тоесть насколько я понимаю JS надо делать так:

идем от index, выбираем фрейм, выбираем форму, выбираем объект, действия с объектом.

тоесть:

top.document.frames['name_frame'].forms['name_form'].for_text.value += something
(надо вставить в текстовое поле текст по нажатии на объект)

Уже все перепробовал, ничего не помогает...
Объесните мне ошибку в моей логике...
Буду благодарен за помощь...

   
 
 автор: 12345   (19.10.2006 в 13:36)   письмо автору
 
   для: Whi-teOoS   (19.10.2006 в 12:35)
 

для FF надо не window.forms[], а document.forms[] :

top.document.frames['name_frame'].document.forms['name_form'].for_text.value += something


, а document.frames['name_frame'] - это объект типа window.

И top.frames , насколько помню, тоже в FF работает.

   
 
 автор: Whi-teOoS   (19.10.2006 в 18:18)   письмо автору
 
   для: 12345   (19.10.2006 в 13:36)
 

Так тоже пробовал выдает

top.document.frames has no properties...

Выкладываю коды, мож кто увидит где я не прав, просто сам уже хз че делать

   
 
 автор: 12345   (19.10.2006 в 20:25)   письмо автору
 
   для: Whi-teOoS   (19.10.2006 в 18:18)
 

Ну вот, во всех бр-рах работает. (вложение)

Добавил значение в поле ввода и вызываю его по загрузке документа из index.htm

<script>onload=function(){
alert(top.frames['n_chat'].document.forms['n_chat_form'].n_c_post.value);}
</script>
(никаких других кодов, кроме расширений файлов, не менял).

   
 
 автор: Whi-teOoS   (19.10.2006 в 22:56)   письмо автору
 
   для: 12345   (19.10.2006 в 20:25)
 

Моя совсем сходить с ума...

Чет я уже совсем ниче не понимаю, тогда почему функция

        function insert(dat)
            {
                top.frames['n_chat'].document.forms['n_chat_form'].n_c_post.focus();
                top.frames['n_chat'].document.forms['n_chat_form'].n_c_post += dat;
            }


при вызове

smiles_array[0]= "<img alt=\"::smile::\"         onClick=\"javascript:insert(' ::smile:: ')\";         src=\"/images/smiles/smile.gif\">";




    document.write("<table align=center border=0><tr>");
    var c=4;
    var a=smiles_array.length % c;
    for (i=0;i<smiles_array.length;i++)
        {
            if (i % c == 0)
                {
                    document.write("</tr><tr>");
                }
            document.write("<td align=center class=chat-smiles-show-table>"+smiles_array[i]+"</td>");
        }
    for (i=a;i<c;i++)
        {
            document.write("<td align=center class=chat-smiles-show-table><br></td>");
        }
    document.write("</tr></table>");


отказывается работать?

   
 
 автор: 12345   (20.10.2006 в 00:51)   письмо автору
 
   для: Whi-teOoS   (19.10.2006 в 22:56)
 

Всё работает. (файл index.htm)

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
        <LINK rel="stylesheet" href="style/chat.css">
    </head>
    <body>
<script>/*onload=function(){alert(top.frames['n_chat'].document.forms['n_chat_form'].n_c_post.value);}*/
function insert(dat) 
    { 
        top.frames['n_chat'].document.forms['n_chat_form'].n_c_post.focus(); 
        top.frames['n_chat'].document.forms['n_chat_form'].n_c_post.value += dat; 
    } 
smiles_array=[]
smiles_array[0]=smiles_array[1]=smiles_array[2]=smiles_array[3]= "<img alt=\"::smile::\"         onClick=\"javascript:insert(' ::smile:: ')\";         src=\"/images/smiles/smile.gif\">"; 


document.write("<table align=center border=0><tr>"); 
var c=4; 
var a=smiles_array.length % c; 
for (i=0;i<smiles_array.length;i++) 
    { 
        if (i % c == 0) 
            { 
                document.write("</tr><tr>"); 
            } 
        document.write("<td align=center class=chat-smiles-show-table>"+smiles_array[i]+"</td>"); 
    } 
for (i=a;i<c;i++) 
    { 
        document.write("<td align=center class=chat-smiles-show-table><br></td>"); 
    } 
document.write("</tr></table>"); 
</script>
        <NOSCRIPT>Для корректной работы страницы необходимо включить поддержку JavaScript.</NOSCRIPT>
        <IFRAME id='chat' name='n_chat' FRAMEBORDER=0 SCROLLING=NO noresize marginHeight=0 marginWidth=0 class=chat SRC="chat_form.htm"></iframe>
    </body>
</html>

   
 
 автор: Whi-teOoS   (20.10.2006 в 01:55)   письмо автору
 
   для: 12345   (20.10.2006 в 00:51)
 

В индексе-то да, но у меня то скрипты в файле chat_smiles (правда он потом инклудится в форму (в див который в форме)) и чет отказывается работать (по совершенно неясным причинам)....

Возможно такое что я ченидь премутил с вложенностью объектов? просто если идти от главной страницы, там фрейм->форма->див->еще див->объект и по нажатию на этот объект меняется значение по адресу фрейм->форма->объект...

В общем жесть...

Возможно такое, что если объект прекрывает текстовое поле, то на него невозможно подать фокус?

просто ФФ постоянно возвращает has no properties хотя я точно знаю что они есть...

   
 
 автор: 12345   (20.10.2006 в 02:46)   письмо автору
 
   для: Whi-teOoS   (20.10.2006 в 01:55)
 

ну так возьми заготовку из вложения, которая с htm, и расположи скрипты в том виде, каком хочется, а здесь их доделаем, а то говорим всё вокруг да около.

   
 
 автор: Whi-teOoS   (21.10.2006 в 01:05)   письмо автору
 
   для: 12345   (20.10.2006 в 02:46)
 

12345, большое тебе спасибо за помощь и участие.

Проблема решилпсь, только хз почему...

Что я сделал: Вместо инклуда перенес код непосредственно на страницу.

те вместо

   <?php
       
include "file";
   
?>


вбил код из этого файла, и все заработало.... *бьюсь головой об стол*

я не понимаю почему, и не понимаю почему нельзя делать так как я делал раньше, но главное, что я это учту, и что все работает *YAHOO!*

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования