Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2012, 11:20
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

подскажите как реализовать событие?
есть такие элементы :
<input type="text" value="ffff" />

<textarea name="' . $name . '">лолололо</textarea>

<select name="main_page">
<option value="0" >па </option >т
</select>

как реализовать что бы после ввода текста(только полного, не буквы а когда я закончу вводить) произошло событие? (повешу аякс запрос) что бы не нужно было нажиматься отправить кнопку в форме,
и точно так же, только после выбора элемента из списка, как такое делается?
без джейквери, подскажите
Ответить с цитированием
  #2 (permalink)  
Старый 22.04.2012, 18:03
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Событие возникает в результате каких-либо действий, в данном случае вы собираетесь вводить текст, то есть нажимать на клавиши, обработчик нажатий можно и прописать, всю работу обычно начинают делать по нажатию ввода (event.keyCode == 13).
Для select можно создать обработчик onchange.
Ответить с цитированием
  #3 (permalink)  
Старый 22.04.2012, 19:40
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

хаха, есть несколько способов определить что вы закончили вводить текст.

1) вы нажмёте inter в конце ввода
2) поле ввода потеряет фокус
3) вы перестанете нажимать на кнопки, тоесть пройдёт некий критический отрезок времени после последнего нажатия.

в любом случае смотрите события onChange,onBlur.
Для третьего способа (такое встречается нечасто ) вам понадобится setTimeout и clearTimeout.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 22.04.2012 в 19:56.
Ответить с цитированием
  #4 (permalink)  
Старый 22.04.2012, 21:03
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

2) и 3) способы, конечно, имеют право на существование, но обычно пользователю (и мне в том числе) хочется полностью контролировать ситуацию, а при таких способах отвлёкся немного, бац, а данные уже ушли.
А если бы здесь на форуме использовались такие способы отправки сообщений.
Ответить с цитированием
  #5 (permalink)  
Старый 22.04.2012, 23:38
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Полностью согласен ,я и не настаиваю на внедрении этих способов )))
Просто охватил все возможные варианты, вытекающие из постановки вопроса.

Но справедливости ради можно попытаться представить ситуацию, где третье решение будет уместно. Допустим вам нужно сделать что то вроде AutoComplete, при этом вы знаете что данные будут получены с сервера а не локального источника, и при этом знаете что извлечение данных на сервере достаточно тяжёлая операция. Естественно вы захотите хотя бы сократить количество запросов, вот здесь третий способ и пригодится. Благодаря нему запросы на сервер пойдут только в момент когда в печати возникнет пауза, а не при каждом нажатии. Одной секунды вполне будет достаточно чтобы сократить количество запросов к серверу в несколько раз. Понятно что нужно в идеале кешировать информацию в памяти сервера, но это не всегда возможно к примеру из за обожаемого заказчиком гавнохостинга, или грошёвого бюджета.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 23.04.2012 в 00:08.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализовать эффект lazyload sanek.me Events/DOM/Window 21 15.02.2017 12:31
Как искусственно вызвать событие, назначенное кнопке в данном скрипте? begin jQuery 7 09.08.2011 11:08
Как отследить событие $(checbox).change? Avron2 jQuery 12 25.03.2011 20:27
Как реализовать вывод такого окна nastya Events/DOM/Window 4 04.02.2010 05:41
Как реализовать? Fliand Элементы интерфейса 4 22.08.2009 19:47