Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AJAX отправка-прием сообщения по буквам 
:(
    Опции темы
Zmiuko
Дата 5.6.2009, 04:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Всем здраствуйте smile

У меня вот в чем вопрос: 

необходимо реализовать задачу:

Пользователь печатает сообщение в форму.

JS по буквам напечатанным, либо удаляемым после первого напечатанного символа отправляет скрипту php содержимое

PHP-скрипт принимает эту какашку и запихивает в xml файл.

Enter`ом или нажатием на Submit пользователь завершает написание своего сообщения, дав понять скрипту php, что необходимо либо создавать новый xml, либо создать в нем новое поле - ну это как душеньке угодно.


Не могу реализовать-додумать, собсна, как передавать по буквам скрипту печатаемое сообщение.  Помогите пожалуйста, либо пните по ссылкам где хоть примерно затронута данная проблемка, но только без учебников - итак вооружен до зубов smile Заранее благодарен smile
PM MAIL WWW ICQ Skype Jabber   Вверх
Zmiuko
Дата 5.6.2009, 06:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Вообще проблема как печатаемое сообщение автоматом передавать. smile 
PM MAIL WWW ICQ Skype Jabber   Вверх
SneG0K
Дата 5.6.2009, 07:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: нет
Всего: 54



Есть событие onChange
По поводу по-символу это надо наверно в onChagne проверять длину строки и признаки символов возврата каретки и перевода строки (не помню точно)
PM WWW Skype   Вверх
ksnk
Дата 5.6.2009, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 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 получится...

В принципе, смысл второго варианта несколько туманен и совсем неочевиден, но мне показалось, что он может быть, при удачном стечении обстоятельств, пооперативнее первого.



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Zmiuko
Дата 5.6.2009, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Думаю, что можно ограничится выбором простого jquery, или по типу того как производится поиск гугля.
PM MAIL WWW ICQ Skype Jabber   Вверх
Zmiuko
Дата 5.6.2009, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Я сравнительно недавно начала  с ajax не поможите. Как это примерно будет выглядеть на jquery?
PM MAIL WWW ICQ Skype Jabber   Вверх
lelik133
Дата 5.6.2009, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: нет
Всего: 14



это форум про php, а не js/ajax. задайте вопрос в соответствующем разделе
PM ICQ   Вверх
Zmiuko
Дата 5.6.2009, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: нет
Всего: 2



Пардон, не объяснил как надо:

скрипт по такому типу

в форму ставим курсор, содержимое формы пусто - не шлем
пишем П - шлем П
пишем р - в форме то есть Пр - шлем Пр
пишем е - в форме Пре - шлем Пре
стираем е - в форме Пр - шлем Пр
пишем и - При - шлем При
пишем в - шлем Прив
пишем е - Приве
пишем т - Привет


нажимаем enter или submit - шлем data=1245687489 - то есть дату в секундах на момент нажатия submit

вот.


lelik133, ну тут ведь не только один js
PM MAIL WWW ICQ Skype Jabber   Вверх
bazzjr
Дата 5.6.2009, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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();
}

в таком духе...

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0506 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.