Предотвратить написание символа
Есть input и нужно разрешить писать в нем только точку, запятую и цифры.
Вопрос в том как запретить написание символа после его проверки но до вставки в input . Вообщем удалось реализовать редактирование строки после вставки в поле но это визуально видно. Подскажите пожалуйста решение, а если не тяжело то с примерами. Спасибо. |
pattern="[,\.\d]"
|
Цитата:
keydown |
|
Цитата:
|
destus,
Особо не разбирался в этом, просто увидел тему, то что пришло в голову для решения. AntonMs, <!DOCTYPE html> <html lang="en"> <head> <script src="http://code.jquery.com/jquery-1.11.1.js"></script> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input type='text' id='inp'></input> </body> </html> <script> $( "#inp" ).keypress(function(event) { var simb =String.fromCharCode(event.keyCode); if(simb.match(/[\.,0-9]/)){ $('#inp').append(simb); } else{ return false; } }); </script> if(!simb.match(/[\.,0-9]/)){ return false; } |
Цитата:
Значит replace(/[^,\.\d]/, '') при вводе. |
laimas,
По-моему уже все что-то захотели сделать, а от автора тишина, нужно ли ему вообще то, что здесь пишется... |
Цитата:
<!DOCTYPE HTML> <html> <head> <script> function onlydigit(inp) { inp.value = inp.value.replace(/[^,.0-9]/, ""); } </script> </head> <body> <input id="test" type="text" oninput="onlydigit(this);" /> </body> </html> Все поучаствовали? Кто еще не высказался? |
Решил. Спасибо всем за советы.
dom.onkeypress = function(event){ var e = String.fromCharCode(event.keyCode); if(isNaN(e) && e !== ',' && e !== '.'){ return false; } } Самое странное что этот-же вариант пробовал до создания темы и fromCharCode возвращал какие-то дроби а return false вообще не срабатывало хотя событие ловилось. Вообщем так и не понял что не так было:( |
Еще вопрос.. Почему я эту функцию не могу использовать в атрибуте onkeypress=""? Ошибки нет но буквы все равно пишутся.
function key(event){ var e = String.fromCharCode(event.keyCode); if(isNaN(e) && e !== ',' && e !== '.'){ return false; } } <input type="text" onkeypress="key(event)"> |
Цитата:
|
рони, спасибо! я кстати знал о preventDefault но думал.. какая разница?
|
AntonMs,
вариант для return false <input type="text" onkeypress="return key(event)"> <script> function key(event){ var e = String.fromCharCode(event.keyCode); if(isNaN(e) && e !== ',' && e !== '.'){ return false } } </script> подробнее тут https://learn.javascript.ru/default-browser-action |
Часовой пояс GMT +3, время: 17:41. |