Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: jquery maskedInput и focus

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Edwvee
Отправлено: 05 Мая, 2014 - 15:25:03
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




Есть div по щелчку на который должен установиться фокус в input[type=text] в конец инпута. Из-за того, что к этому input применен jquery maskedInput получается, что выделяется весь текст в input. Даже если убрать часть кода ответственную за перемещение в конец input.
Код примерно такой:
CODE (javascript):
скопировать код в буфер обмена
  1. $('#input').mask('999999999999999', {placeholder: ' '});//поле в котором подразумевается строка из цифр максимальной длины = кол-ву 9
  2. $('#div').click(function(){
  3.         var input = $('#input');//получаем инпут
  4.         var lastNotSpace = input.val().trimRight().lenght;//тут нюанс в том, что невведенные симпволы представляют из себя пробелы
  5.         input.focus();//сам фокус, уже тут проблемы
  6.         input[0].setSelectionRange(lastNotSpace, lastNotSpace);//курсор в конец введенной строки
  7.   });

Пс: если подразумевается строгая маска, то не исключаем сценарий когда пользователь стал вдруг вводить в другое поле, а в текущем не хочет заново набирать то, что уже ввел.
ППс: если есть более разумное решение для строки вариативной длинны, состоящей из определенного набора символов, то подскажите.

(Отредактировано автором: 05 Мая, 2014 - 15:30:10)

 
 Top
Edwvee
Отправлено: 06 Мая, 2014 - 10:50:01
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




Кажется нашел решение: сначала unmask, потом делаю focus и setSelectionRange, потом снова применяю маску.
Одна проблема: можно ли как-то получить саму маску и определить есть ли маска на input?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB