- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
дабы немного усмирить человеческий фактор, далаете поле ввода а рядом выпадающий список с единицы/тысячи/миллионы.....
Тогда будет проблема в том, чтоб, БД попадала введенная сумма умноженная на 1, 1000, 1000000 в зависимости от того, что человек выбрал. К тому-же человеку придется ломать голову, как ввести 3 млн. 253 тыс. 553 руб.
Заводим контейнер вроде
Код HTML:
Тут я совсем запутался :)
А при варианте:
Не получится в текст ошибки значение "form.price.value * 1" вставить?...тут вот ещё что, при таком варианте, если ввести 22.00, то тоже добавляется.
Тогда будет проблема в том, чтоб, БД попадала введенная сумма умноженная на 1, 1000, 1000000 в зависимости от того, что человек выбрал.
это не прблема
Не получится в текст ошибки значение "form.price.value * 1" вставить?
не понимаю в чем проблема?
...тут вот ещё что, при таком варианте, если ввести 22.00, то тоже добавляется.
так надо перестать длину проверять, три знака как я понял, это 100, ну так и проверять на то что введенное число parseFloat(str) > 99
не понимаю в чем проблема?
В том, что у меня не получается это сделать.
Вот что в итоге получилось:
Уже много опечаток отсекается. Только вот если ввести 1.000.000 или 1.000 000, то такой вариант проходит, а в БД попадает 1.00.
Уже много опечаток отсекается. Только вот если ввести 1.000.000 или 1.000 000, то такой вариант проходит, а в БД попадает 1.00.
А это уже начало ИИ. Вы хотите чтобы программа могла догадаться о том, что хотел ввести юзер... не мудрите. точка - это разделитель целой и дробной части... и если юзер этого не понимает - заставьте его это понять. от цифр и букв мы пришли к полному бреду - 1.000.000. Вот скажите, кто так будет вводить? так можно только копипастить...
Если у вас не может быть дробной части, то просто удалите из строки все, что не является цыфрами form.price.value.replace(/[., -+*]/ig, ""); или form.price.value.replace(/[*\D]/ig, "");
Если у вас не может быть дробной части, то просто удалите из строки все, что не является цыфрами
Скрипт предусматривает одну точку, более того, если ввести 1000 в БД цифра будет в виде 1000.00 и при редактировании существующего объявления, в поле с ценой, загружается именно 1000.00. В общем, просто запретить точку нельзя, иначе при редактировании, каждый раз цену править придется.
Скрипт предусматривает одну точку, более того, если ввести 1000 в БД цифра будет в виде 1000.00 и при редактировании существующего объявления, в поле с ценой, загружается именно 1000.00.
а что мешает перед выводом все приводить в нормальный вид, без точек?
ваша проблема в том что вы чересчур лояльны к пользователю :) Сделайте просто - только цифры, начинается не с нуля, а уже в скрипте, который получает данные, можете сделать более крутую проверку. Еще ваша проблема в том, что вы слабо знаете js и я не удивлюсь если и сервер-сайд язык.
Я же писал, что нужно делать проверку на то, одна ли точка. Напишите функцию на скорую руку типа
минута. даже меньше. и можно использовать так:
Конечно, сообщение об ошибке у вас будет не таким, но... что то около того :)
минута :) даже меньше )
Не хотелось вам ссылку давать на jQuery, но все таки если очень хочется сделать любой формат, то лучше использовать jquery и плагин http://www.meiocodigo.com/projects/meiomask/
См демки: http://www.meiocodigo.com/projects/meiomask/#mm_demos
а что мешает перед выводом все приводить в нормальный вид, без точек?
Так и сделал.
Сделайте просто - только цифры, начинается не с нуля
Оставил только цифры и пробелы т.к. если юзер оставит пробел после цифр, потом будет долго гадать, что там скрипту не нравится.
Еще ваша проблема в том, что вы слабо знаете js и я не удивлюсь если и сервер-сайд язык.
"сервер-сайд язык" я знаю на уровне - "а что это?" :)
"сервер-сайд язык" я знаю на уровне - "а что это?" :)
хехе :) Ну вот JavaScript - клиент-сайд (client-side), потому что исполняет javascript сам браузер, а PHP, Perl и иже с ними - сервер-сайд (server-side) ЯП, потому что скрипты, написанные на них, исполняются на сервере.