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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> установка фокуса в конец строки! 
:(
    Опции темы
Sardar
Дата 26.3.2005, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Поставь alert(o) - убедись что там действительно обьект, а не null.

Выложи код, посмотрим.


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


Опытный
**


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

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



Код собственно почти такой же как и был:

Код

  <script>
 function setCarret()  {
    var o=parent.myFRAME.document.forms.textFIELD.message;
    o.focus();
    if(document.selection)  {
      var s=document.selection.createRange(), pos;
        if((pos="INPUTTEXTAREA".indexOf(s.parentElement().tagName.toUpperCase()))==0 || pos==5) {
           alert(o);
           s.moveToElementText(o);
           s.collapse(false);
           s.select();
       }
    } else o.selectionEnd=o.selectionStart=o.value.length;
}
  </script>


кроме этой строчки конечно же:
Код

    var o=parent.myFRAME.document.forms.textFIELD.message;
[s]

alert(o); - выдает "[object]"

вот такие вот дела... не работает и выскакивает ошибка(см. пост выше)..


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


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Ты код ХТМЛ дай smile
не гадать же, где у тебя находится smile
Код

parent.myFRAME.document.forms.textFIELD.message;




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
HappyMan
Дата 27.3.2005, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

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

<frameset rows="0,*">
<frame NORESIZE FRAMEBORDER=0 name=y1 src=y1.php>
<frameset rows="*,30">
    <frameset cols="*,22%">
<frame FRAMEBORDER=0 name="main" src="x1.php" scrolling="auto">
        <frame name="k1" src="k1.php" FRAMEBORDER=0 scrolling="yes">>
</frameset>
  <frame NORESIZE FRAMEBORDER=0 name="myFRAME" src="y2.php" scrolling="no" FRAMEBORDER=0>
</frameset>
</frameset>
</html>



это чтоли?

Это сообщение отредактировал(а) HappyMan - 27.3.2005, 17:55


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


Бегун
****


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

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



Цитата(HappyMan @ 25.3.2005, 23:34)
т.е он просто фокус устанавливает... ито с ошибкой в этой строке:
s.moveToElementText(o);

Смотим в справочнике: http://msdn.microsoft.com/workshop/author/...elementtext.asp

Значит нам нужен текстовый элемент. Текстареа и текстовые поля тоже работают, селектируется их содержимое. Если обьект существует, но является ошибочным аргументом для этой функции, то это либо ошибка браузера, либо обьект не HTML элемент, либо есть какая то закавыка в механизме селекции, которую не учли smile Я почти уверен что проблема во втором варианте, потому опроси:
Код
alert(o);  //[object]
alert(o.tagName); //TEXTAREA или INPUT
alert(o.nodeType); //1 - HTML нода

Если хоть какая нибудь строка выдаст не тот ответ что в коментарии, то пересматриваем твой код(вёрстка + вызов).


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


Опытный
**


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

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



sergej.z
ЯваСкрипт у меня встроен в ПХП сценарий если ты о нем smile


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


Бегун
****


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

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



Цитата(HappyMan @ 27.3.2005, 16:53)
это чтоли?

Нет, вёрстка формы.


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


Опытный
**


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

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



Sardar

вот что выдал:

Код

alert(o);  -------------------- [object]    
alert(o.tagName); ----------    INPUT    
alert(o.nodeType); -----------  1

Добавлено @ 18:05
Код

...
echo"<form method='post' name='xxx'>".
    "<tr><td ><input name='message' type='text' >
</form></td></tr>";
...

Добавлено @ 18:08
упс...

у меня там так:

Код

    var o=parent.myFRAME.document.forms.ххх.message;



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


Опытный
**


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

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



удалено мною
Добавлено @ 18:15
насколько я понял весь трабл в том что текстовое поле находится в другом Фрейме и в форме ххх и текстовое поле обычное а не ТЕКСТАРЕЯ..

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


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


Бегун
****


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

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



Цитата(HappyMan @ 27.3.2005, 17:12)
и текстовое поле обычное а не ТЕКСТАРЕЯ..

Нет здесь ошибки быть не может, проверка на input и textarea.


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


Опытный
**


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

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



кароче я уже запутался.. выкладываю исходник
Добавлено @ 22:46
если лень какчать:

index.html:
Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows=240,* framespacing="0" border="0" frameborder="0">
        <frame name="frameUp" src="1.htm" scrolling="auto">
        <frameset cols="150">
                <frame name="frameDown" src="2.htm" scrolling="auto">
        </frameset>
<noframes>
<body>
</body>
</noframes>
</frameset>
</html>


1.htm:
Код

<html>
 <head>
  <script>
 function setCarret()  {
    var o=parent.frameDown.myForm.T1.message;
    o.focus();
    if(document.selection)  {
       var s=document.selection.createRange(), pos;
        if((pos="INPUTTEXTAREA".indexOf(s.parentElement().tagName.toUpperCase()))==0 || pos==5) {
           s.moveToElementText(o);
           s.collapse(false);
           s.select();
       }
    } else o.selectionEnd=o.selectionStart=o.value.length;
}
  </script>
 </head>
 <body>
 <br/>
 <input type="button" value="Поставть каретку в конец поля" onclick="javascript:setCarret()">
 </body>
 </html>


2.htm:
Код

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 2</title>
</head>

<body bgcolor="#DFDFDF">

<form method="POST" name="myForm" action="--WEBBOT-SELF--">
    <p><input type="text" name="T1" size="60" value="Suda nada fokus v konec stroki!"></p>
</form>



</body>

</html>

Добавлено @ 22:47
ИМХО проблема тут:

Код

var o=parent.frameDown.myForm.T1.message;


Это сообщение отредактировал(а) HappyMan - 28.3.2005, 22:45

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  sample.zip


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


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Почему бы не сделать так?
http://files.vingrad.ru/sergej.z/js/carret/index.htm


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
HappyMan
Дата 29.3.2005, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



sergej.z
ндаа.. у меня совсем руки кривые... твой пример работает без сомнений.. а вот кога я аналогично у себя хотел сделать...

ругается на эту строчку:
Код

    var o=parent.chat2.document.getElementById('mes');


пишет: parent.chat2.document is null or not an object

и соответственно сюда он не заходит:
Код

        if((pos="INPUTTEXTAREA".indexOf(s.parentElement().tagName.toUpperCase()))==0 || pos==5) 


какие еще могут быть варианты? (имею ввиду ту строчку)
Добавлено @ 18:45
Код

...
</frameset>
  <frame NORESIZE FRAMEBORDER=0 name="chat2" src="input.php" scrolling="no" FRAMEBORDER=0>
</frameset>
...

Добавлено @ 18:46
Код

echo"<form method='post' name='myForm'>".
    "<tr><td><input name='mes' type='text' maxsize='400' size='65'> <input type=submit value=Send></form></td></tr>";
[s]


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


Бегун
****


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

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



Может быть фрейм не загрузился, ты как функцию вызываешь, по body.onLoad ? smile


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


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Да нет, у тебя name="mes" а вызываешь ты по getElementbyId("mes").

Здесь два выхода или пиши id="mes" полю, или getElementbyName("mes") в функции smile


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


 




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


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

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