2010-05-25 82 views
2

我正在建立一個密碼框,其中包含三個文本區域。 每個文本區域都有一個字符。 當我輸入密碼的第一個字符後,我必須按Tab或使用鼠標到第二個文本區域輸入密碼的第二個字符。 我想讓這種情況自動發生(光標移動),就在我輸入第一個文本區域之後。如何將光標從第一個textarea移動到第二個textarea,而不使用選項卡或鼠標?

我該如何做到這一點?

如果你可能會問,我在C#中使用Visual Studio .NET 2008我在.NET中是一個完美的新手,我不知道如何用合適的詞問這個問題。

謝謝。

+0

確定,該項目是在.NET和代碼不使用「輸入字段」 它是使用這樣的: 的 UXdesigner 2010-05-25 15:27:56

回答

3

嘗試onKeyPress。這應該照顧你正在尋找的東西。

<input type="text" name="password" onKeyPress="autoTab()" /> 

<script type="text/javascript" language="JavaScript"> 
    function autoTab() { 
    //do stuff 
    } 
</script> 

這裏是一個教程,涉及更改字段的光標位置。

http://www.webdeveloper.com/forum/showthread.php?t=91817

這表明你的autoTab()函數應該是這樣的。

function autoTab(field,nextFieldID){ 
    if(field.value.length >= field.maxLength){ 
    document.getElementById(nextFieldID).focus(); 
    } 
} 
+0

感謝您的幫助。我很感激。 問題是,在我的情況下,它不是一個輸入字段。 因爲它是用.net編寫的,所以我們用這樣的一行: UXdesigner 2010-05-25 15:14:04

+0

你應該沒問題,只要把你的'onKeyPress =」autoTab )當你從字段1到字段2時,「asp:TextBox中的元素並使用'txtPwd2'是autoTab()的輸入。 – 2010-05-25 15:41:19

0
if textbox1.text.length > 0 then textbox2.focus(); 
1

你在項目中使用jQuery?

<!DOCTYPE html> 
<html> 
<head> 
<title>example</title> 
<style type="text/css"> 
    * 
    { 
     margin: 0; 
     padding: 0; 
    } 
</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript"> 

    $(function() { 

     $('#data1').keyup(function() { 

      if ($(this).val().length == 1) { 

       $('#data2').focus(); 
      } 

     }); 

    }); 

</script> 
</head> 
<body> 
<input id="data1" type="text" value="" style="width: 10px" /><br /> 
<input id="data2" type="text" value="" style="width: 10px" /> 
</body> 
</html> 
+0

即使你不是:'document.getElementById('data1')。onkeyup = function(){if(this.value.length == 1)document.getElementById('data2')。focus(); };' – nickf 2010-05-25 15:05:20

+0

我試過這個解決方案,它的工作原理。現在我必須用.NET來嘗試它,看看它是否也一樣。 .NET很古怪。我是這個框架中的新手。 – UXdesigner 2010-05-26 13:54:29

相關問題