Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2009, 12:22   #1
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию Как правильно обработать onkeypress?

Задача: Нужно по нажатию в текстовом поле клавиши Энтер выполнить некий код, а точнее - передать серверу то что введено в текстовое поле. Передавать планирую редиректом, с формированием параметров. Сервер при получении данных уже их в БД запишет (сервер мною написаный на основе IDHTTPServer).

Вопросы:
1. Как узнать что нажата клавиша Энтер. Вот накидал слегка:
PHP код:
<script type="text/javascript">
function 
f2()
{
 if (
Event.which==13) {alert("")}
}
function 
foo()
{
 var 
el=window.event.srcElement
 
var tx=el.innerText
 el
.innerHTML="<input name='tt' value="+tx+" onkeypress='f2()'>" 
}
</script>
</head>
<body>

<table width="100%" id="test_table" width="1">
  <tr>
    <td onclick="foo()">ОПХБЕР</td>
    <td onclick="foo()">q</td>
    <td onclick="foo()">w<td>
  </tr>
</table> 
Но Алерт не вызывается, хотя написано что Event.which вернет код нажатой клавиши, значит я мог в синтаксисе как всегда ошибиться.

2. Как (можно ли) передать то что введено серверу, желательно без запроса браузера на обновление страницы. Что то слышал про технологию AJAX, но "слышал звон, да не знаю откуда он"
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.08.2009, 14:11   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

1. which использовался в Netscape Navigator 4 В IE, Opera, Chrome надо использовать keyCode
2. Почитайте, в нете примеров полно. Хотя бы вот
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 13.08.2009, 15:12   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
function f2()
{
 if (Event.keyCode==13) {alert("")}
}
Не реагирует. Но сама f2() выполняется, это я проверил. Я вообще верно код энтера в JS написал, или там как-то по другому?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.08.2009, 15:16   #4
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

event с маленькой буквы
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 13.08.2009, 15:46   #5
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

во первых, лучше пользоваться событием onkeydown
во вторых, в ie нужно обращаться к объекту event, в остальных браузерах - к объекту, передаваемому в вашу функцию в качестве параметра
свободен...
wall66 вне форума Ответить с цитированием
Старый 13.08.2009, 15:49   #6
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Цитата:
Сообщение от wall66 Посмотреть сообщение
во первых, лучше пользоваться событием onkeydown
во вторых, в ie нужно обращаться к объекту event, в остальных браузерах - к объекту, передаваемому в вашу функцию в качестве параметра
Opera и Chrome проглатывают, хотя согласен, передаёшь объект и всё путём
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 13.08.2009, 16:14   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ок. Сенькс. Смысл уловил буду попрыгать
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обработать несколько файлов? never_mind Microsoft Office Excel 3 28.01.2009 11:57
Как в OnkeyPress отловить если в Edit есть текст позицию заменяемого символа? slips Общие вопросы Delphi 3 06.12.2008 18:12
Деление на 0. Как обработать ошибку? Bravo Общие вопросы C/C++ 7 22.10.2008 02:30
Как обработать ошибку XAOC-forever Работа с сетью в Delphi 11 24.09.2008 20:13
Как обработать исключение? XPAiN БД в Delphi 9 16.05.2008 15:09