![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| dimon3191 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 1.5.2012 Репутация: нет Всего: нет |
Доброе время суток.
Выше часть кода js и у меня не получается объединить keynum. Пробовал между ними ставить || или && не помогло, так как можно их объединить подскажите пожалуйста? |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Что такое объединить?
|| и && - опреации над логическими. возвращают логическое. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| dimon3191 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 1.5.2012 Репутация: нет Всего: нет |
keynum==48 это точка и она работает в браузере, а вот добавить keynum==0 мне не получается.
(Может теперь более точно выразился) |
|||
|
||||
| iff |
|
||||||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 2 Всего: 16 |
1. Не ясно что такое numcheck. Должно быть, это регулярное выражение в роде /\d/. Что-бы разобраться, по запросу "numcheck.test" нашёл в сети скрипт:
Его задача разрешать вводить только цифры. Если вам необходимо разрешить вводить так же и точку, то можно: а) изменить регулярное выражение
б) сделать так, как вы - поставить тогическое условие
которое означает "введённый символ - цифра ИЛИ точка". П.С. Если вы хотите организовать таким образом ввод не только целых, но и дробных чисел - то это будет не правильно, т.к. скрипт пропустит такую строку, как например ".123" или "12....2". Что же косается нуля, то не понятно, чего хотите добится. У какой клавиши по-вашему код - ноль? -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
||||||
|
|||||||
| dimon3191 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 1.5.2012 Репутация: нет Всего: нет |
благодарю
без нуля я немогу передвигаться стрелками в input а вот нашел код он мне немного полегче:
а можете подсказать как сделать чтобы была только 1 точка? Это сообщение отредактировал(а) dimon3191 - 4.5.2012, 01:34 |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
Какова первоначальная задача? Разрешить вводить только int / float?
|
|||
|
||||
| dimon3191 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 1.5.2012 Репутация: нет Всего: нет |
насколько я знаю integer это целые числа, а float с плавающей запятой (то есть дробные),
но мне надо что бы водились числа как целые так и дробные к примеру 5 без всякой точки или 9.0064 уже точка нужна |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
А скопированное из какого нибудь документа `100 002,345` подойдет? Тоже, вроде как, число.
imho, проверять по мере ввода символов каждый конкретный символ - неправильно. Нужно проверять конце (в onblur на элементе, onsubmit в форме) . А так - можно пытаться по каждому клику клавиши проверять значение. Если значение не похоже на число - рисовать красную рамку вокруг элемента.
Это сообщение отредактировал(а) ksnk - 4.5.2012, 09:25 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
Я бы вообще использовал бы нативную html5 клиент-валидацию для помощи пользователям, а полноценную валидацию оставил бы на совести сервера.
|
|||
|
||||
| iff |
|
||||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 2 Всего: 16 |
В IE при нажатии на стрелку событие onkepressed вообще не вызывается А вот в Opera, действительно. Причём даже "с нулём" ничего не изменяется - при нажатие на стрелку генерируется код undefined, а не 0.
Float может быть целым числом. (Из математики - множество рациональных чисел включает в себя множество целых)
Здесь поле по умолчанию содержит 0 (value="0" - можете поставить любое другое число, либо убрать этот параметр, что-бы поле было пустым по-умолчанию). Если ввести какое-либо целое или дробное число, то оно так и останется в поле, а если ввсести например "1.12нгш", то в поле останется только "1.12". Если ввести строку, например "йцукен", то в поле будет 0 ( "||0" - можете поставить здесь другое число или пустую строку вместо нуля, что-бы она выводилась, когда пользователь вводит не число, а строку). -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
||||
|
|||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
iff, проблема такого решения всплывает при вводе текста аля "ололо3.14" -> 0
|
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 2 Всего: 16 |
нет, пользователь должен ввести число, а он ввёл строку ("ололо3.14").
-------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
| dimon3191 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 1.5.2012 Репутация: нет Всего: нет |
ksnk Дата 4.5.2012, 08:21
с одной стороны хорошо но с другой все же лучше было бы проверять символы по мере вода и если точка уже есть то запрещать ее вставлять еще раз Aliance Дата 4.5.2012, 09:34 Я бы вообще использовал бы нативную html5 клиент-валидацию для помощи пользователям, а полноценную валидацию оставил бы на совести сервера. html5 не все браузеры поддерживают а насчет сервера скорей всего не подойдет так как планируется, что html файл можно скачать и запускать без доступа к глобальной сети iff Дата 4.5.2012, 12:27
неплохо, но да если перед цифрами идут буквы и т.п. то автоматически возвращает к нулю (жалко что не оставляет цифры) Это сообщение отредактировал(а) dimon3191 - 4.5.2012, 23:13 |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Эээ... тоесть пример не запускался и даже не смотрелся? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| dimon3191 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 1.5.2012 Репутация: нет Всего: нет |
запускал смотрел разрешает водить все только если к примеру вожу буквы рамка светится красным |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |