2014-05-08 18 views
0

加載html頁面函數checkTweetLength被調用。此功能用於更新textarea中輸入的字符數。但是這個函數不會更新html頁面,因爲它在頁面加載期間只運行一次。我怎樣才能使這個功能動態更新html頁面?如何使該功能動態更新html?

// JavaScript Document 

window.onload = function(){ 
    checkTweetLength(); 
}; 

function checkTweetLength() { 
    var tweet = document.getElementById("tweet_entered"); 
    if(tweet.value.length > 140) { 
     //alert('Hey'); 
     document.getElementById("tweet_length").innerHTML = tweet.value.length - 140; 
    }else { 
     //alert('else block'); 
     document.getElementById("tweet_length").innerHTML = tweet.value.length; 
    } 
} 
+0

你想要更新每個在輸入字段中鍵入或當字段失去焦點或其他? – Aaron

+0

@Aaron是啊.... – saplingPro

回答

1
document.getElementById("tweet_entered").onKeyUp = checkTweetLength; 
1

只需使用<onchange>將其綁定到textarea即可。例如<textarea onchange=checkTweetLength(); >

(編輯),或使用onkeyup以記錄用戶鍵入...

0

您可以設置的時間間隔後,該功能將被調用。就像在下面的情況下,你的功能將在3秒後被調用。

setTimeout(function(){checkTweetLength()}, 3000); 

或者你可以調用它,如果有任何活動(鼠標移動或按鍵)

$(document).bind("mousemove keypress", function() { 
checkTweetLength(); 
}); 
0

您需要綁定一個按鍵或更改事件文本區域。

這裏是一個工作jsbin

window.onload = function(){ 
    var tweet = document.getElementById("tweet_entered"); 
    tweet.onkeypress = checkTweetLength; 
} 
    function checkTweetLength() { 
    if(this.value.length > 140) { 
     console.log('Hey'); 
     document.getElementById("tweet_length").innerHTML = 140 - this.value.length; 
    }else { 
     console.log('else block'); 
     document.getElementById("tweet_length").innerHTML = this.value.length; 
    } 
} 

現在只要在textarea的用戶開始打字,計數將更新

希望這是對你有用