2012-12-11 130 views
-1

這裏是我的代碼在javascript:。長度增量和減量

function length(inputLength){ 
    this.inputLength = inputLength; 
    document.getElementById('view').innerHTML = inputLength.length; 
} 

通常,當我按一個鍵,計數器遞增,當我刪除一個字符與退格鍵,計數器遞減。 問題是,當我刪除一個字符,計數也增加1,然後通常遞減。 使用「onkeydown」事件嘗試此代碼。

你能幫我嗎?

+0

是什麼'inputLength' ??? (傳遞給函數的參數) – ManseUK

+0

@ManseUK是html輸入的值。 –

+0

我真的不明白嗎?如果它是文本輸入,則該值的length屬性始終是字符串的正確長度(字符數)? – adeneo

回答

2

爲什麼不把它簡化,只是這樣做:

​function calcLength(elem) { 
    document.getElementById('output').innerHTML = elem.value.length; 
} 

哪裏elem是輸入。使用elem.value.length將獲得輸入內容的長度。

的HTML的一個例子是此

​<input id="testing" value="" onkeyup="calcLength(this)" /> 
Length = <span id="output"></span>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

Working example here

+0

這是工作,謝謝! 解決方法是使用「onkeyup」而不是「onkeydown」。 並感謝您的簡化! –

+0

@MathieuBrochard我不知道答案是'onkeyup' vs'onkeydown'它確實沒有區別 - 它只是執行順序...閱讀本文http://stackoverflow.com/questions/3396754/onkeypress-vs- onkeyup-and-onkeydown – ManseUK

+0

顯然是的,我用'onkeyup'取代了'onkeydown',它的工作原理是... 別擔心,我想驗證你的答案,但我必須等6分鐘:) –