Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: keypress

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ShuvaL
Отправлено: 20 Марта, 2011 - 20:37:32
Post Id



Гость


Покинул форум
Сообщений всего: 64
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Такая проблема на jQuery к полю ввода тип text нужно привязать событие keypress так как keyup не совсем подходит для решеия задачи, но как только я подключаю keypress в поле вообще ничего нельзя ввести, оно как-бы умирает.

Что бы вопросов не было это ajax поиск

CODE (javascript):
скопировать код в буфер обмена
  1. $(function() {
  2.                    $("#searchTx").click(function() {
  3.                         $("#general").hide();
  4.                         $("#search").show();});
  5.                        
  6.                          $("#searchTx").keypress(function() {
  7.         // получаем то, что написал пользователь
  8.         var searchString    = $("#searchTx").val();
  9.         // формируем строку запроса
  10.         var data            = 'search='+ searchString;
  11.  
  12.         // если searchString не пустая
  13.         if(searchString) {
  14.             // делаем ajax запрос
  15.             $.ajax({
  16.                 type: "POST",
  17.                 url: "do_search.php",
  18.                 data: data,
  19.                 beforeSend: function(html) { // запустится до вызова запроса
  20.                     $("#results").html('');
  21.                     $("#searchresults").show();
  22.                     $(".word").html(searchString);
  23.                },
  24.                success: function(html){ // запустится после получения резуотатов
  25.                     $("#results").show();
  26.                     $("#results").append(html);
  27.               }
  28.             });
  29.         }
  30.         return false;
  31.     });
  32.  });


Поле:
CODE (html):
скопировать код в буфер обмена
  1. <div id="searchForm">
  2. <img align="left" id="searchSb" src="img/icons/search.png"/>
  3. <input id="searchTx" type="text" align="left" size="41" class="inputUps"/>
  4. </div>

(Отредактировано автором: 20 Марта, 2011 - 20:38:18)

 
 Top
Champion Супермодератор
Отправлено: 20 Марта, 2011 - 21:09:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. ...// получаем то, что написал пользователь
  2.                 $("#searchTx").val( $("#searchTx").val() + String.fromCharCode(e.which))
  3.         var searchString    = $("#searchTx").val()...
вот такое извращение пришло в голову. Только нажатие бекспейса, делита и пр. надо обработать
 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Марта, 2011 - 21:26:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Не, не...
Нужно иметь два поля (второе скрытое), первое это то что вводит пользователь сейчас.
Второе это старое значение строки поиска пользователя.

Варианта 2:
1. Биндим нажатия клавиш и проверка полей
2. setInterval и в нем проверка этих полей

И если новый текст поиска отличается от старого - посылаем запрос.
 
 Top
DlTA
Отправлено: 20 Марта, 2011 - 23:24:40
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




ShuvaL,
а может отслеживать не нажатие кнопки, изменение состояние поля ввода?!
http://www[dot]askdev[dot]ru/question/44[dot][dot][dot]%82%D0%B8%D1%8F/
 
 Top
ShuvaL
Отправлено: 21 Марта, 2011 - 15:09:00
Post Id



Гость


Покинул форум
Сообщений всего: 64
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Нет-нет, мне куда интересней узнать почему у меня keypress замораживает поле, и как это решить.
DlTA keypress имено и отслеживает изменение состояние поля ввода
 
 Top
Viper
Отправлено: 21 Марта, 2011 - 15:44:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




ShuvaL "return false;" это для чего внутри keypress() ? Если чисто для эксперимента, то уберите. Оно вам ничего не даст, и работать тоже. Для этого есть stopPropagation().

Вешать обработчик лучше на keydown и внутри проверять уже event.keyCode.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
ShuvaL
Отправлено: 21 Марта, 2011 - 17:37:50
Post Id



Гость


Покинул форум
Сообщений всего: 64
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Viper
Благодарю, Радость совсем что-то я сплошал, не надо внутри keypress false возвращать.

(Отредактировано автором: 21 Марта, 2011 - 17:38:24)

 
 Top
JustUserR
Отправлено: 22 Марта, 2011 - 00:25:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ShuvaL пишет:
Нет-нет, мне куда интересней узнать почему у меня keypress замораживает поле, и как это решить
Возможной причиной осуществления некорректного функционирования клиентского HTML-приложения, проявление которого производится в виде несоответственной обработки базовых пользовательских событий для элемента управления, является использование средства jquery framework, осуществляющего константное определение и исполнение предполагаемых действий в разделеном внешнем элементном уровне трактования, относительно которого не обеспечивается требуемая синхронизация для интегрируемых значений статических связных фунциональных обеъектов обработки базовых событий, и внедряемых координационных элементов в среднем уровне трактования


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB