|
|
|
| Заметил такую вещь... Пишу станицу php_wml, на ней несколько полей ввода... Если телефон различает их, всмысле по ограничению вводимых данных и типу (в поле можно ввести только 5 цифр), то опера может вводить и буквы и цифры... Почему такое и как можно это исправить? Может что-то не хватает в полях ввода? | |
|
|
|
|
|
|
|
для: Angel_Hranitel
(18.04.2007 в 08:38)
| | В поле ввода типа <input .....> можно помещать все данные (-_+= и т.д.) не легче потом проверить то ли было введено? | |
|
|
|
|
|
|
|
для: black_prince
(18.04.2007 в 10:42)
| | Ну это понятно... Так это получается проблема с оперой? Она не поддерживает? | |
|
|
|
|
|
|
|
для: Angel_Hranitel
(18.04.2007 в 13:37)
| | С типом ничего не сделаешь,можно даже текст скрипта JavaScript или теги HTML плескать в формы, кроме как проверить после обработчиком.Можно сделать проверку ч/з регулярное выражение, проверить что надо (цифры-буквы) и послать если не то, или выполнить если то. А длина ограничивается количеством символов ввода, по моему maxlength-атрибутом... | |
|
|
|
|
|
|
|
для: black_prince
(18.04.2007 в 14:16)
| | Ну да... Это я знаю... А кроме регулярных выражений есть способы проверки вводимых символов? | |
|
|
|
|
|
|
|
для: Angel_Hranitel
(18.04.2007 в 16:08)
| | is_int, is_numeric и много др. - php.
а с html такого не слышал.... | |
|
|
|
|
|
|
|
для: black_prince
(19.04.2007 в 01:29)
| | Используйте фильтрование ввода в JavaScript.
На onKeyUp вешайте свой обработчик, приблизительно такого вида:
function IntParse() {
var prev;
while (prev != document.all.patt.value) {
prev = document.all.patt.value;
document.all.patt.value = document.all.patt.value.replace(new RegExp("[^0-9]"),"");
}
return 1
}
|
Все вместе может выглядеть так:
<html><head>
</head>
<script language=javascript>
function IntParse() {
var prev;
while (prev != document.all.inputfiled.value) {
prev = document.all.inputfiled.value;
document.all.inputfiled.value = document.all.inputfiled.value.replace(new RegExp("[^0-9]"),"");
}
return 1
}
</script>
<body>
<input class=ebx id=inputfiled name=pattern type=text size=60 value='' onKeyUp=IntParse()>
</body>
</html>
|
Таким образом все-таки можно ввести нечисловые данные, если вставить в поле текст с помощью контекстного меню, поэтому неплохо бы перед отправкой данных вызвать IntParse() еще один раз.
Ну и, конечно, проверять на сервере. | |
|
|
|