2013-02-19 5 views
0

У меня есть на странице много входов, и я хочу отобразить только один, пока вы не нажмете enter. Когда вы нажимаете кнопку ввода, текущий вход исчезает и появляется скрытый ввод.Показать один ввод и скрыть еще один

<input type="text" value="Name" /> 
<input type="text" value="Password" /> 

А вот код JQuery:

$('input').each(function(){ 

    $(this).fadeIn(); 

     $(this).on('keyup', function(e) { 
      if (e.which == 13) 
       return true; 
      else return false; 

     }); 
    $(this).fadeOut(); 
}); 

Я сделал этот кусок сценария, но он не работает. Он показывает мне оба входа в одно и то же время, а затем исчезает.

Что я должен изменить, чтобы получить желаемые результаты?

+0

Что вы пытаетесь сделать, это то, чего пользователь не ожидает. Вы уверены, что хотите это сделать? – Popnoodles

+0

Почему бы и нет? Это что-то другое. – kraYz

+0

Почему бы и нет? Формы. Мы все знаем, как они работают. Многие из нас знают, что вкладка позволяет вам перейти от одного поля к другому. Но на этом конкретном сайте из миллионов, да, вам нужно нажать то, что вы обычно хотели бы отправить в форму, чтобы перейти к следующему полю. Уникальным является одно, против-конвенции для такой простой функции - еще одна игра с мячом. Я бы настоятельно советовал этому. – Popnoodles

ответ

0

http://jsfiddle.net/z7ZNL/1/

<input type="text" value="Name" /> 
<input type="text" value="Password" style="display: none;" /> 

$('input').on('keyup', function(e) { 
    if (e.which == 13) 
    $('input').not(this).fadeIn(); 
    $(this).fadeOut(); 
}); 

Это только достаточно код для обработки двух входов. В вашем описании упоминается «много». Для этого вам понадобится какой-то счетчик или маркер места для циклического перехода по всем элементам.

Я согласен с popnoodles. Это странное поведение. Используйте с осторожностью.

Смежные вопросы