|
|
|
| Люди я для ограничения ввода лишних символов я пользуюсь кодом javascript вот:
function rr()
{
var str = window.qq.vvodname.value;
if(/[\/\s\|'"\\]/.test(str)) {alert("Недопустимые символы в строке 'Логин'"); window.qq.vvodname.value = ""; }
при вводе лишних символов все стираться и поевляеться табличка посреди экрана.
Можно ли сделать так чтоб он молча запрещал ввод лишних символов при этом не стирая все, т.е. это вроде делаеться через backspace, но тока я не знаю как это прописать? | |
|
|
|
|
|
|
|
для: Dazzl
(24.08.2011 в 10:28)
| | По событию onChange проверяйте содержимое поля. Если есть недопустимые символы, то стираете их, а оставшуюся строку снова пишете в поле. Говорю «символы», а не «символ», что текст в поле может попасть с помощью Ctrl-V. | |
|
|
|
|
|
|
|
для: Киналь
(24.08.2011 в 10:44)
| | Теоритически я понял, но на практике туго придстовляю. Немогли бы вы прописать это... или припесать к моему коду | |
|
|
|
|
|
|
|
для: Dazzl
(24.08.2011 в 10:46)
| | А что именно вызывает затруднения? У вас же есть уже функция; как вы её вызываете? | |
|
|
|
|
|
|
|
для: Dazzl
(24.08.2011 в 10:28)
| | Как вариант, чтобы всё не стиралось уберите это window.qq.vvodname.value = ""; и всё) | |
|
|
|
|
|
|
|
для: Dazzl
(24.08.2011 в 10:28)
| |
<script>
function delChars(o) {
o.value = o.value.replace(/[\/\s\|'"\\]/g, '');
}
</script>
<input onkeyup="delChars(this)" onchange="delChars(this)">
|
| |
|
|
|
|
|
|
|
для: Саня
(25.08.2011 в 07:53)
| | Спасибо всем, Саня твой код оправдал все мои ожидания спасиб)) | |
|
|
|
|
|
|
|
для: Саня
(25.08.2011 в 07:53)
| | Хм. А разве может быть onKeyUp, но не onChange? Ну кроме перемещения курсора стрелками) | |
|
|
|
|
|
|
|
для: Киналь
(25.08.2011 в 10:17)
| | Все ок! код работае как надо: сразу стирает все запрещённые символы как вводишь их | |
|
|
|
|
|
|
|
для: Dazzl
(25.08.2011 в 10:28)
| | а в чем смысл? ну отключил я JS и пишу что хочу...
надеюсь на сервере все-таки проверяете, что там вам "прилетело" | |
|
|
|
|
|
|
|
для: Valick
(25.08.2011 в 12:29)
| | Смысл в том, что пользователю не прийдётся делать лишний запрос на сервер чтобы узнать о том, что он где-то ошибся. | |
|
|
|
|
|
|
|
для: Киналь
(25.08.2011 в 10:17)
| | onchange — не клавиатурное событие. Срабатывает при потере фокуса, если контент поля изменился. В данном конкретном случае если убрать onchange, то строку с невалидными данными можно набрать в любом текстовом редакторе и вставить мышкой (правая кнопка -> вставить). Событие onkeyup не произойдёт — данные не отфильтруются. | |
|
|
|
|
|
|
|
для: Саня
(25.08.2011 в 18:05)
| | А, я думал, onChange срабатывает в сам момент изменения, а не при потере фокуса, и onKeyUp показалось лишним. Но теперь понятно, спасибо. | |
|
|
|