2013-02-19 47 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 2013-02-19 23:33:08

+0

为什么不能?这是不同的。 – kraYz 2013-02-19 23:33:54

+0

为什么不呢?形式。我们都知道他们是如何工作的。我们很多人都知道选项卡会让你从一个领域到另一个领域。但是,哦,在这个特定的网站上数以百万计,是啊,你需要按你通常会提交表单到下一个领域。独特是一回事,违背这种简单功能的惯例完全是另一场球赛。我强烈建议不要这样做。 – Popnoodles 2013-02-19 23:34:52

回答

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。这是奇怪的行为。谨慎使用。