Не возвращает фокус элементу при некорректных данных
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Не возвращает фокус элементу при некорректных... Expand / Collapse
Автор
Сообщение
27.09.2006 13:35
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 15.11.2007 11:06
Сообщ.: 38, Visits: 277
По событиям OnChange и onBeforeDeactivate выполняется функция вида:

sub control_input_2(nam)
el_name = nam
 l_s = Left(document.all(el_name).value,1)
 r_s = Right(document.all(el_name).value,1)
  if  Asc(l_s) < 48 or Asc(l_s) > 57 then 
   alert("Символ должен быть цифрой")
   document.all(el_name).focus()
  end if
  if  Asc(r_s) < 48 or Asc(r_s) > 57 then 
  alert("Символ должен быть цифрой")
    document.all(el_name).focus()
  end if
end sub

При нажатии табуляции или клике мыши на другом элементе в случае с некорректными данными сообщение выдается, но фокус не возвращается.

Сообщ. #904940
27.09.2006 14:01
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Попробуй перехватывать событие onblur.
Сообщ. #904941
27.09.2006 14:55
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 15.11.2007 11:06
Сообщ.: 38, Visits: 277
по onblur циклит
Сообщ. #904946
27.09.2006 15:57
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 15.11.2007 11:06
Сообщ.: 38, Visits: 277
Удалось решить проблему по событию OnBlur

Выглядит так:

sub control_input_2(nam)
el_name = nam
if document.all(el_name).value <> "" then
if len(document.all(el_name).value) > 2 then
 alert("Поле должно содержать не более двух символов!")
 document.all(el_name).focus()
else
 if len(document.all(el_name).value) = 2 then
 l_s = Left(document.all(el_name).value,1)
 r_s = Right(document.all(el_name).value,1)
  if  Asc(l_s) < 48 or Asc(l_s) > 57 or Asc(r_s) < 48 or Asc(r_s) > 57 then 
   alert("Символ должен быть цифрой!")
    document.all(el_name).focus()
  end if
 else
  l_s = document.all(el_name).value
  if  Asc(l_s) < 48 or Asc(l_s) > 57 then 
   alert("Символ должен быть цифрой!")
    document.all(el_name).focus()
  end if
 end if
end if
end if
end sub

Сообщ. #904957
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 4:54