Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.12.2010, 19:53
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

Передача фокуса на поле формы
Элементарная штука, а не во всех браузерах работает почему-то?
Что не так делаю?

Надо при клике на картинке передать фокус в определенное поле формы.Работает в Мозилле, Кроме, Сафари.
А IE8 и Опера НЕ РАБОТАЕТ.

Сюда надо перевести фокус:
<input ID="input_text" name="text" size="40">

Картинка:
<img onclick="form_focus()" align="absmiddle" class="hand" src="/img/button_new.png" width="11" height="13" alt="">

Функция:
function form_focus() {input_text.focus();}

Что не так?
Ответить с цитированием
  #2 (permalink)  
Старый 19.12.2010, 20:49
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Функция:
function form_focus() {document.getElementById('input_text').focus();}

Последний раз редактировалось Vulkan, 20.12.2010 в 12:06.
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2010, 20:54
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

Сообщение от Vulkan Посмотреть сообщение
Функция:
function form_focus() {dcument.getElementById('input_text').focus();}
Вау!!!

Спасибо. Все ОК. Я несилен в js. Php юзаю.
Ответить с цитированием
  #4 (permalink)  
Старый 19.12.2010, 21:07
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

если ты так не любишь писать document.getElementById напиши один раз такую функцию
function $( id ){
    return   typeof id == 'string'   ? document.getElementById(id)   : id;
}

и используй ее
Ответить с цитированием
  #5 (permalink)  
Старый 19.12.2010, 21:24
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

Сообщение от x-yuri Посмотреть сообщение
если ты так не любишь писать document.getElementById напиши один раз такую функцию
function $( id ){
    return   typeof id == 'string'   ? document.getElementById(id)   : id;
}

и используй ее
Уже начинаю въезжать. Спсб.
Ответить с цитированием
  #6 (permalink)  
Старый 06.01.2011, 13:35
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

Ребята. Объясните еще одну вещь.

А что, если вместо getDocumentById использовать all? Ведь работает.

document.all('input_text').focus

Столько разных вариантов в js, что если им заниматься от случая к случаю, трудно запомнить.
Тогда как document.all, вроде как, применим в большинстве случаев.

Есть какие подводные камни? help, please

--
А еще работает так:
eval('input_text.focus')

Ну и зачем такое многообразие

Последний раз редактировалось Эдди, 06.01.2011 в 14:34.
Ответить с цитированием
  #7 (permalink)  
Старый 06.01.2011, 17:49
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

document.all не работает в firefox

по поводу eval... ты читал, что он делает? Ты хочешь получить доступ к элементу страницы. Какое отношение имеет "выполнение js-кода" к "получению доступа к элементу страницы"?
Ответить с цитированием
  #8 (permalink)  
Старый 06.01.2011, 17:53
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

Насчет eval согласен. Некрасиво это.

all работает в моей (последней) версии - Firefox 3.6.13. И у других современных браузерах.

Хотя не у всех есть последние версии. Значит getElementById = на настоящее время наилучший вариант.

Убедил!!!
Ответить с цитированием
  #9 (permalink)  
Старый 06.01.2011, 20:37
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

я говорил только про firefox. Этот код работает?
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script type="text/javascript">
        alert(document.all);
    </script>
</body>
</html>


p.s. в firefox оно работает только в режиме совместимости (quirks mode)
Ответить с цитированием
  #10 (permalink)  
Старый 06.01.2011, 21:00
Профессор
Отправить личное сообщение для Эдди Посмотреть профиль Найти все сообщения от Эдди
 
Регистрация: 19.06.2010
Сообщений: 279

Вот результат в Firefox. Окно алерт не выведено.
02 03 04 05 06 07 08 11 12
В других браузерах точно так же.

Последний раз редактировалось Эдди, 06.01.2011 в 21:03.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как передать значение переменной в IFRAME в поле формы JS-ом из самой страницы? DeUre Общие вопросы Javascript 14 17.12.2013 16:37
Передача данных из формы Eugene Общие вопросы Javascript 4 15.12.2010 11:41
Передача данных из формы в новое окно Flyd Общие вопросы Javascript 0 01.08.2010 15:45
Передача данных из формы в форму на разных страницах Катерина Общие вопросы Javascript 1 04.03.2010 18:18
Передача фокуса из формы после ввода символа kuh Общие вопросы Javascript 2 08.03.2009 19:50