2016-04-27 121 views
-2

我有一個文本框,用戶在文本框中鍵入兩個單詞,然後按Enter鍵。一旦輸入鍵被擊中,這兩個單詞應以相反的順序顯示(即第一個字和第二個字)。例如,用戶鍵入'Sara Waka'。顯示的文字應該是'Waka Sara'。 我該怎麼做?按「Enter」鍵顯示文本框的值

<body> 
    Enter Full Name: <input id="name" name="name" type="text" /> 
    <br /><br /> 

    <script> 
     var fname = document.getElementById("name").value; 

    </script> 

</body> 
+0

你能告訴我們這個任務你自己的進步嗎? –

+0

按空格字符拆分字符串,然後驗證以確保您有2個元素(如果沒有,請確定要做什麼),然後在再次加入元素之前交換元素,並使用空格字符。 – Archer

回答

1
var nameInput = document.getElementById('name'); 
nameInput.addEventListener('keyup', function(e) { 
    if (e.keyCode === 13) { 
    var words = nameInput.value.split(' '); 
    if (words.length === 2) { 
     nameInput.value = words[1] + ' ' + words[0]; 
    } 
    else { 
     console.log('must be exactly 2 words'); 
    } 
    } 
}); 
1

希望這個代碼解決您的問題:

<body> 
     Enter Full Name: <input id="name" name="name" type="text" /> 
     <br /><br /> 
     <script> 
     document.addEventListener('keyup',function(event){ 
      var inputBox, val; 
      if(event.keyCode === 13){ 
      inputBox = document.getElementById('name'); 
      val = inputBox.value; 
      inputBox.value = val.split(" ").reverse().join(" "); 
      } 
     }); 
    </script> 
    </body> 

請參閱本JSFiddle

相關問題