Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Защита от дурака Input (https://javascript.ru/forum/misc/40777-zashhita-ot-duraka-input.html)

feniks7 19.08.2013 19:25

Защита от дурака Input
 
Вот есть у меня три инпута, с тайпом ="number", что не останавливает в общем то пользователей например фаерфокса вписать туда любые символы, (хотя вроде бы и других браузеров тоже). Как мне сделать ограничения во-первых только на ввод цифр, во-вторых например на то что в один из инпутов можно вводить только значения от 0 до 36?

На данный момент у меня только есть кривой блок основного скрипта на оставление этих инпутов пустыми:

if(document.getElementById('c_c_summary').value!==""&&document.getElementById('c_c_period').value!==""&&document.getElementById('c_c_vznos').value!=="")

deivan 19.08.2013 19:29

старый добрый isNaN поможет
ну и
if(inputVal < 0 && inputVal > 36) return;

feniks7 19.08.2013 19:38

...&&isNaN(document.getElementById('c_c_summary'). value)!=="false")

Что-то здесь не так, верно?)

bes 19.08.2013 19:42

min/max
только не говори, что это не кроссбраузерно при type="number"

feniks7 19.08.2013 19:49

min/max тут вообще не робит же. Даже проверил. Ну по крайней мере если я верно понял о чем ты говоришь. Допустим:

<input type="number" id="c_c_vznos" size="2" placeholder="Желаемый первоначальный взнос" required max="36">%


всеравно вводить можно любое значение, и при нажатии скрипт продолжает срабатывать.

У меня ошибка была в кавычках. Не нужны они у фолса, тупанул ибо проверял не на той странице, менял новую версию проверял старую.

bes 19.08.2013 19:55

<form>
<input type="number" max="36" min="0" pattern="[0-9]{2}">
</form>

feniks7 19.08.2013 19:59

Цитата:

Сообщение от bes
1
<form>
2
<input type="number" max="36" min="0" pattern="[0-9]{2}">
3
</form>

Фаерфокс же) да и кстати в хроме у меня тоже отлично получилось ввести "33333" и слово неприличное.

bes 19.08.2013 20:02

Цитата:

Сообщение от feniks7
Фаерфокс же)

и чё тебе тогда дал input type="number"? :haha:

Цитата:

Сообщение от feniks7
да и кстати в хроме у меня тоже отлично получилось ввести "33333" и слово неприличное.

а ты отправь, не лезя в отладчик


Часовой пояс GMT +3, время: 20:26.