2013-02-19 88 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。這是奇怪的行爲。謹慎使用。