|
 59.2 Кб |
|
| В приложении скриншот сервиса, оперативно контролирующего размер введенного сообщения.
Как это делается?
Вероятно, через Аякс? А как? | |
|
|
|
|
|
|
|
для: Владимир55
(01.08.2010 в 21:54)
| | > Как мне кажется, здесь обошлось без Аякс.
Сначала правильно казалось)
Более менее приемлимый вариант, обрабатывать события:
1. onfocus, в обработчике вызывать функцию window.setInterval, чтобы раз в определённый промежуток времени вызывать "контролирующую" функцию, возвращаемое значение нужно сохранить.
2. onblur, в обработчике вызывать window.clearInterval, в аргументе нужно передать значение, возвращённое функцией setInterval, чтобы прекратить вызовы "контролирующей" функции.
Сама функция должна получать длину текста в текстовом поле, обращаясь к свойству элемента input:
и дальше уже ваша логика, что с этой длиной делать. | |
|
|
|
|
|
|
|
для: sms-send
(01.08.2010 в 22:39)
| | Не обязательно запускать интервал, и без него все можно проверить и обрезать. | |
|
|
|
|
|
|
|
для: sim5
(02.08.2010 в 01:10)
| | Действительно, не обязательно. Вариантов реализации много, я указал на тот, который считаю "более менее приемлимым". В том смысле, что работать оно будет при любых вариантах изменения длины строки в текстовом поле.
Если у вас есть более простой/эффективный вариант без setInterval - покажите, интересно посмотреть. | |
|
|
|
|
|
|
|
для: sms-send
(02.08.2010 в 02:16)
| | onkeyup + onchange проверки | |
|
|
|
|
|
|
|
для: AlexSol
(02.08.2010 в 06:20)
| | Например, как минимум в Opera и в IE при вставке/удалении текста из контекстного меню - "оперативной" реакции не будет (onchange произойдёт только в момент потери фокуса). | |
|
|
|
|
|
|
|
для: sms-send
(02.08.2010 в 13:19)
| | именно так | |
|
|
|
|
|
|
|
|
для: AlexSol
(02.08.2010 в 06:22)
| | Спасибо, очень интересная информация! | |
|
|
|