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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> по нажатию ентер переход на другое поле 
:(
    Опции темы
lumentek
Дата 9.1.2010, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



подскажите как на js query возможно по нажатию на ентер сделать переход с одного инпута на другой инпут имя которого было передано в функцию перевода
PM MAIL   Вверх
12345c
Дата 9.1.2010, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 3
Всего: 101



Цитата(lumentek @  9.1.2010,  18:19 Найти цитируемый пост)
передано в функцию перевода
Что за функция перевода? Перехода?

Код

$(document).ready(function(){
  $("#ид_поля").keypress(function(ev){
    if(e.which == 13){$("#ид_другого_поля")[0].focus();}
  });
})


Это сообщение отредактировал(а) 12345c - 9.2.2010, 22:55


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
lumentek
Дата 9.2.2010, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



а как эту функцию использовать?
PM MAIL   Вверх
lumentek
Дата 9.2.2010, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

<html>

<head>
<script type='text/javascript' src='jquery-1.3.2.min.js'></script>
  <title></title>
</head>

<body>
 <script>
$.function(){$("#n1").keypress(function(ev){
  if(e.which == 13){$("#s1")[0].focus();}
});
}
</script>
<form name="" action="" method="post">

<input name="N" id="n1" type="text" value="">
<input name="S" id="s1" type="text" value="">
 </form>
</body>
</html>


подскажите где ошибка?
PM MAIL   Вверх
12345c
Дата 9.2.2010, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 3
Всего: 101



скобки 
Код

<script>
$(function(){$("#n1").keypress(function(ev){
  if(ev.which == 13){$("#s1").focus();} //у jQ тоже есть focus(), поэтому убрал [0]
});
}) //но так не рекомендуют, потому что ready - важная функция,
//  а в этой записи на ней не ост-ся взгляд
</script>


Добавлено @ 22:59
Ещё надо заблокировать отправку формы. 
Код

$(function(){$("#n1").keypress(function(ev){
  if(ev.which == 13){$("#s1").focus();}
  return false;
});
})


Это сообщение отредактировал(а) 12345c - 10.2.2010, 12:13


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
lumentek
Дата 10.2.2010, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



у Вас функции написано ev, а в условии e. 
И еще такой вариант работает, но если возварщать return false, то почему-то при печатании в форме текста не видно. С чего быэто?
PM MAIL   Вверх
12345c
Дата 10.2.2010, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 3
Всего: 101



Да, опечатка, if(ev.which == 13){$("#s1").focus();}

return false и печать не должны быть связаны, ищите причину в стилях.


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
lumentek
Дата 10.2.2010, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Да нет. Яхотел сказать  что совсем печатать не получается. Я нажимаю по клаве, а текст не печатается, даже один символ не печатается. Курсор стоит в начале поля и дальше не идет. Такое начинается, когжа допасал возврат false

Добавлено через 3 минуты и 36 секунд
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>

<head>
     <script type="text/javascript" src="jquery.js"></script>
     <script>

            $(document).ready(function()
           {$("#c1").keypress(function(ev){
                     if(ev.which == 13){$("#d1").focus();}  return false;
                     }) })
     </script>
</head>
<body>
<form name="" action="" method="post">

     <input id=c1 type="text" value="">
     <input id=d1 type="text" value="">
     <input type="submit" value="Send">
</form>
</body>
</html>


Вот простой пример, текст не печатается. Переход срабатывает норм.
PM MAIL   Вверх
12345c
Дата 10.2.2010, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 3
Всего: 101



return false отменяет событие по умолчанию (вывод формы). В Вашем коде это - переход на ту же страницу (action пусто), т.е. она перезагружается. С перезагрузкой станицы потеряется действие переноса фокуса. Поэтому Вы определитесь и поясните, что Вам нужно - перезагрузка страницы или перенос фокуса. Если то и другое - надо как-то сохранять положение фокуса до перезагрузки, но я сомневаюсь, что именно в этом был замысел.

Добавлено через 4 минуты и 17 секунд
Да, ещё 
Код

if(ev.which == 13){$("#d1").focus(); return false;}

чтобы отмена действия была только на Enter, из-за этого не печаталось ничего.


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
lumentek
Дата 10.2.2010, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



12345c спасибо за помощь)))) Вообщем нужно вот  что. Клиент привык что при заполнении полей формы, для перехода на следущее поле он нажимает Enter. Эта привычка вошла у него из-заодного win-приложения, где для перевода курсора на следущее поле используется enter. Тоесть ему обычный Tab не удобен, поэтому нужно enter. Вот  и я хочу добиться того, чтобы при заполнени одного поля, нажатием на ентер, курсор передвинулся на следущее поля и так далее. И только когда курсор, например будет на поле id="end", то при нажатии на enter смело можно отправлять данные. А тут  при нажатии на ентер срабатывает еще и субмит, и получается что еще не все поля запонены, а форма отправляет данные серверу. Вроде бы все подробно сейчас описал))))
PM MAIL   Вверх
12345c
Дата 10.2.2010, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 3
Всего: 101



Да, теперь лучше. Можно по последнему, имеющему type="text" .

Код

<script>
$(function(){
  var $inputs = $("#f1").find('input[type=text]');
  $inputs.each(function(i){
    $(this).keypress(function(ev){
      //alert([i,$inputs.length,ev.which])
      if(ev.which == 13 && i == $inputs.length -1){return true;}
      if(ev.which == 13){$inputs.eq(i+1).focus();return false;}
    });
  });
})
</script>
<body>
<form id="f1" ...>
  <input type="text" ...> 
  <input type="text" ...>
  <input type="text" ...>
  <input type="text" >
...
</form>




--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
lumentek
Дата 10.2.2010, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо, дружище!!!!!!

Добавлено через 10 минут и 15 секунд
12345c, а  нельзя ли учитывать и другие типы полей кроме text'а? Уменя в форме пристутсвует один флажек и один селект
PM MAIL   Вверх
12345c
Дата 11.2.2010, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 3
Всего: 101



Код

<script>
$(function(){
  var $inputs = $("#f1").find('input').add('select');
  $inputs.each(function(i){
    $(this).keypress(function(ev){
      //alert([i,$inputs.length,ev.which])
      if(ev.which == 13 && i == $inputs.length -1){return true;}
      if(ev.which == 13){$inputs.eq(i+1).focus();return false;}
    });
  });
})
</script>
<body>
<form id="f1" ...>
  <input type="text" ...> 
  <input type="text" ...>
  <input type="text" ...>
  <input type="text" ><br>
  <input type="checkbox" ><br>
  <select><option>1</option><option>2</option></select>
...
</form>



--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




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


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

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