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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фокус по id 
:(
    Опции темы
Konstantin_d
Дата 13.4.2008, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как установить фокус на imput, если скрипт находит ошибку в содержимом imput.value.

Код

Скрипт
function provDan(id_str)
{
    var obj_id = document.getElementById(id_str);
    var reStr = new RegExp("[^А-Яа-я\]");
    var str_id = obj_id.value;
    if ((str_id.search(reStr)) >= 0) 
    {
    alert ("Недопустимый символ!");
        return false;
        obj_id.focus();//так не работает
    } else {return true;}
}

Код

Вызов
<INPUT type="text" name="fio_cont"    size="40" id="fio_cont" value="<%=fio_cont%>" class="portlet-form-input-field" onchange="provDan('fio_cont');">


PM MAIL   Вверх
Wolf1994
Дата 13.4.2008, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

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



Попробуйте:
Код

value="&lt;%=fio_cont%&gt;"


Это сообщение отредактировал(а) Wolf1994 - 13.4.2008, 12:42
PM MAIL WWW   Вверх
IDVsbruck
Дата 13.4.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Судя по "<%=fio_cont%>" это jsp?
Если это так, то работает также вариант "${fio_cont}".

Ну и пару слов про стиль. Элегантнее будет делать вызов onchange="provDan(this);"
А функция немного изменится:
Код
function provDan(element) {
    var reStr = new RegExp("[^А-Яа-я\]");
    if (element.value.search(reStr) >= 0) {
        alert ("Недопустимый символ!");
        element.focus();
        return false;
    } else return true;
}


Кстати, у тебя в функции сначала идет return false, а потом фокус на элемент - так не будет работать. Сначала фокус, потом возврат.

Это сообщение отредактировал(а) IDVsbruck - 13.4.2008, 14:52
PM MAIL   Вверх
SelenIT
Дата 13.4.2008, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Не работает, потому что return выбрасывает управление из функции, дальше интерпретатор просто не идет smile. Его нужно ставить в самый конец.

А вообще в данном случае можно обойтись без вызова getElementById, передавая в ф-цию ссылку на сам элемент (onchange="provDan(this);").


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
IDVsbruck
Дата 13.4.2008, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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


 




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


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

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