![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
Добрый день еще раз!
Ребята, итак есть input-ы для ввода чисел. По умолчанию дробная часть отделяется точкой, но многие любят использовать запятую. В любом случае это все обрабатывается на уровне приема значений (JavaScript скриптами для их обработки, PHP и т.д.), но для красоты хотелось бы "на лету" менять запятые на точки и в самих input-ах. Отслеживаю oninput, проверяю $(this).val().indexOf(','), и если запятая имеется, делаю $(this).val($(this).val().replace(',', '.')); Все ок, но есть один некрасивый момент. Например, пользователь ввел "100". И потом ставит курсор после первого нуля чтобы поставить точку и получить "10.0". И если вместо точки он введен запятую, она корректно заменится на точку, но курсор будет перемещен в самый конец строки. Можно ли как-то на лету делать такую замену с сохранением позиции курсора в троке? Спасибо! Это сообщение отредактировал(а) maxipub - 8.12.2015, 18:00 |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Использовал такой вот плагин для jQuery. В комментариях - описание работы
var x = $(this).carret() - позиция курсора, перед изменением значения ее нужно сохранить, после изменения - восстановить $(this).carret(x); Работает только с текстовыми полями - input/textarea.
Это сообщение отредактировал(а) ksnk - 12.12.2015, 20:44 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
ksnk, спасибо большое за помощь! Порылся еще немного в теме. Решил в форме ничего не заменять, столько кода из-за такой мелочи...
|
|||
|
||||
| maxipub |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
В принципе, немного поэксперементировав, не такой уж и плохой плагин... Только не $(this).carret(x);, а $(this).carret('set', x);
Спасибо еще раз! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Да, действительно, ошибка была. Так, оказывается, не проверял еще. Поправил
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |