![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Zmiuko |
|
|||
![]() http://zmiuko.ru ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 8.10.2008 Репутация: нет Всего: 2 |
Всем здраствуйте
У меня вот в чем вопрос: необходимо реализовать задачу: Пользователь печатает сообщение в форму. JS по буквам напечатанным, либо удаляемым после первого напечатанного символа отправляет скрипту php содержимое PHP-скрипт принимает эту какашку и запихивает в xml файл. Enter`ом или нажатием на Submit пользователь завершает написание своего сообщения, дав понять скрипту php, что необходимо либо создавать новый xml, либо создать в нем новое поле - ну это как душеньке угодно. Не могу реализовать-додумать, собсна, как передавать по буквам скрипту печатаемое сообщение. Помогите пожалуйста, либо пните по ссылкам где хоть примерно затронута данная проблемка, но только без учебников - итак вооружен до зубов |
|||
|
||||
| Zmiuko |
|
|||
![]() http://zmiuko.ru ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 8.10.2008 Репутация: нет Всего: 2 |
Вообще проблема как печатаемое сообщение автоматом передавать.
|
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: нет Всего: 54 |
Есть событие onChange
По поводу по-символу это надо наверно в onChagne проверять длину строки и признаки символов возврата каретки и перевода строки (не помню точно) |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Zmiuko,
-- вариант простой (xmlHttp). На onKeyDown ставим обработчик, который проверяет - не нажал ли юзер Enter и ставит таймаут на 0.5 секунды. Если таймаут уже установлен - переустанавливаем его. Если таймаут тикнул или Юзер топнул Ввод - берем то, что ввелось и бросаем скрипту. Простой Ajax - в книжках описано. Скрипт возвращает то, что он про это все думает. Если юзер продолжает печатать после посылки Ajax'a и до получения ответа - пытаемся прибить непришедший запрос функцией abort и начинаем все по новой... В ответе, возвращаемом скриптом должен быть и ввод пользователя и "вывод" скрипта, чтобы можно было разобраться в JS со всем этим неожиданноприходящем добре... -- вариант усложненный (jsonp). Все то-же самое, но по началу печатания в поле, открывается невидимый iframe. Это iframe живет до тех пор, пока не наступит ему "onload", После чего он удаляется и открывается заново. С ним связан некий файл на сервере. Напечатанные пользователем огрызки текста отсылаются и вписываются в этот файл. Скрипт, который выводит в iframe чего-то, крутится в цикле со sleep'ом и проверяет, не менялся ли файл. Если менялся - быстро читаем, быстро выплевываем результат... Тут придется работать с JavaScript форматом вывода. Этакий jsonp получится... В принципе, смысл второго варианта несколько туманен и совсем неочевиден, но мне показалось, что он может быть, при удачном стечении обстоятельств, пооперативнее первого. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Zmiuko |
|
|||
![]() http://zmiuko.ru ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 8.10.2008 Репутация: нет Всего: 2 |
Думаю, что можно ограничится выбором простого jquery, или по типу того как производится поиск гугля.
|
|||
|
||||
| Zmiuko |
|
|||
![]() http://zmiuko.ru ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 8.10.2008 Репутация: нет Всего: 2 |
Я сравнительно недавно начала с ajax не поможите. Как это примерно будет выглядеть на jquery?
|
|||
|
||||
| lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: нет Всего: 14 |
это форум про php, а не js/ajax. задайте вопрос в соответствующем разделе
|
|||
|
||||
| Zmiuko |
|
|||
![]() http://zmiuko.ru ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 8.10.2008 Репутация: нет Всего: 2 |
Пардон, не объяснил как надо:
скрипт по такому типу в форму ставим курсор, содержимое формы пусто - не шлем пишем П - шлем П пишем р - в форме то есть Пр - шлем Пр пишем е - в форме Пре - шлем Пре стираем е - в форме Пр - шлем Пр пишем и - При - шлем При пишем в - шлем Прив пишем е - Приве пишем т - Привет нажимаем enter или submit - шлем data=1245687489 - то есть дату в секундах на момент нажатия submit вот. lelik133, ну тут ведь не только один js |
|||
|
||||
| bazzjr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 27.12.2007 Где: Россия, Пермь Репутация: нет Всего: 6 |
Все очень просто, как писал выше ksnk нужно повесить на поле ввода обработчик событий onKeyUp
примерно выглядит так: <textarea name="message" id="message" rows="12" cols="34" onkeyup="check();"></textarea> <input type="button" name="go_message" id="go_message" value=" Отправить " onClick="javascript:formGo();" /> функция check() должна быть примерно такого содержания: function check(){ var str = document.getElementById('message').value; ну а тут дальше функция посыла данных, если их нужно обрабатывать как то. } function formGo(){ var data = new Date(); alert(data); return data.getDate(); } в таком духе... |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |