[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: считывание данных из текстового поля
yintar
Всем привет!!! есть текстовое поле в которое пользователь вводит число.
С вводом каждого нового символа нужно считывать это число.Событие onchange работает только при изменении фокуса элемента.А мне нужно чтобы после ввода каждой цифры считывать число.Подскажите,пожалуйста,как такое сделать на jquery
sergeiss
Используй событие onkeyup smile.gif Оно очень даже подходит для этой цели.

При этом ты можешь сразу удалять ненужные символы, форматировать данные, да и много чего другого делать.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
yintar
А как проверить если пользователь введет не число а букву или пробел то его надо удалить??
sergeiss
В JS есть регулярные выражения, которые ты можешь использовать для таких сравнений.
Взял данные из поля - провел валидацию - если нужно, то изменил строку и записал ее в поле вводе.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zzepish
onInput
yintar
подскажите ,пожалуйста, как составить регулярное выражение так ,чтобы пользователь мог вводить только цифры и никаких других символов и пробелов
Делаю так var myRegExp = /\D/gi ,но это работает при вводе первого символа т,е, если ввести 5ор то это проходит,а мне надо чтобы в строке могли быть только цифры и все .
rooor
/\D{1,8}/gi
в фигурных скобках число символов, первое - минимальное, второе - максимальное
yintar
Попробовал ,не работает

<script type="text/javascript">

$(document).ready(function() {
function check(txt) {
var myRegExp = /D{1,8}/gi
if (txt.search(myRegExp))
alert ("Все Ок!")
else
alert ("Некорректное имя!")
}
$('.sumPay').keyup(function() {
check($('.sumPay').val())
});
});

</script>
sergeiss
yintar,
Например, вот тут посмотри http://javascript.ru/RegExp и вот тут http://javascript.ru/String/search
Там не только описания, но и обсуждения - достаточно много инфы.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
yintar
Спасибо serqeiss.Первую проблему решил

<script type="text/javascript">

$(document).ready(function() {
function check(txt) {
var req = /^\d+$/gi

if (req.test(txt)){
alert ("Все Ок!");
}
else {
alert ("Некорректная сумма!");
}
}

$('.sumPay').keyup(function() {
check($('.sumPay').val());
});
});

</script>

А как теперь сделать так чтобы после введение пользователем некорректного символа(т.е. не цифры) этот символ нужно удалить из строки ,чтобы в ней оставались только цифры.Подскажите в какую сторону копать метод replace подойдет или как-то по-другому?
sergeiss
Да все там же смотри замену http://javascript.ru/tutorial/regexp-specials
Попробуй заменить все ненужные символы на "пустое место" и получишь то, что надо.
И еще, я думаю, надо следить за положением курсора в строке и восстанавливать его сразу же после замены. Иначе "скачки" курсора будут очень сильно раздражать.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.