2013-03-11 43 views

回答

1

是有可能。假設您的文本框的最大長度是5.您需要創建onkeyup事件函數並計算文本框值的長度。在這個函數中,如果長度等於或超過5,那麼你需要編寫第二個文本框焦點函數調用。

+1

我使用此代碼: 功能moveOnMax(場,nextFieldID) \t { \t \t如果(field.value.length> = field.maxLength) \t \t { \t \t的document.getElementById(nextFieldID )。焦點(); \t \t} \t} <輸入名稱= 「productkey1」 類型= 「文本」 ID = 「的ProductKey」 的onkeyup = 「moveOnMax(此,productkey2)」 大小= 「4」 最大長度= 「10」/> - <輸入名稱= 「productkey2」 類型= 「文本」 ID = 「productkey2」 大小= 「4」 最大長度= 「10」/> 但其不工作 – Apb 2013-03-11 11:14:44

+1

@ user2156244:使用此修正的代碼。 <輸入名稱= 「productkey1」 類型= 「文本」 ID = 「的ProductKey」 的onkeyup =「moveOnMax(此,文檔。getElementById('productkey2'))「 size =」4「maxlength =」5「/> 2013-03-11 11:28:30

+0

感謝其現在的工作 – Apb 2013-03-11 11:36:19

1

是的。你將需要:

  • 監控onkeydown事件,防止「爆棚」的人物,
  • 查找下一個輸入字段在表單 - 根據你自己的邏輯/結構 - 當這種情況發生時,
  • 使用focus方法將焦點放在下一個字段上。
0

是的,你需要計算由onkeyup事件在現場插入性格特徵的數量,如果數量等於MAXLENGTH然後設置focus下一個字段

+0

我用這個函數:。 '函數moveOnMax(場,nextFieldID) \t { \t \t如果(field.value.length> = field.maxLength) \t \t { \t \t document.getElementById(nextFieldID).focus(); \t \t} \t}' 但它不是w請求 – Apb 2013-03-11 11:18:32

+0

在查找長度之前,應該將'field'設爲對象。因此,在將它傳遞到if語句之前,如果用戶將大量內容複製到文本框中,則創建一個對象「document.getElementById(field)' – 2013-03-11 11:29:17

0

你可以使用這樣的代碼使用jquery。在此代碼時,文字越大則20個字符

<input id="first"/> 
<input id="second"/> 
<script> 
$(function() { 
    $('#first').keypress(function() { 
     var self = $(this); 
     //wait until character is inserted 
     setTimeout(function() { 
     if (self.val().length > 20) { 
      $('#second').focus(); 
     } 
     }, 1); 
    }); 
}); 
</script> 
0
$('#productkey1').keyup(function() { 
    if(this.value.length >= $(this).attr('maxlength')) 
    { 
     $('#productkey2').next().focus(); 
    } 
}); 
+0

,最好使用'> ='而不是'==' – Raptor 2013-03-11 11:20:22

+0

@PSR它不工作 – Apb 2013-03-11 11:25:45

+0

通過刪除的.next()u能告訴我的代碼 – PSR 2013-03-11 11:26:31

0

首先,你需要掛接到onfocus事件的輸入,知道你在開始測量,它移動到#second領域。然後您需要使用onkeyup事件檢查輸入字符的長度。達到限制後,您可以在要將光標移動到的下一個DOM元素上調用focus()。您還需要使用onblur事件來了解您已經停止測量輸入的長度。

例如,使用jQuery;

<input id="inputA" type="text"/> 
<input id="inputB" type="text"/> 

<script> 

var $input; 

$('#inputA').focus(function() { 
    $input = $(this); 
}); 

$(window).keyup(function() { 
    if($input && $input.val().length == 5) { 
     $('#inputB').focus(); 
    } 
}); 

$('#inputA').blur(function() { 
    $input = null; 
}); 

</script> 
相關問題