2012-12-06 107 views
0

我在用戶輸入時正在進行一些實時計算。實時計算不起作用

這很奇怪,它在jsfiddle中工作,但不在localhost中。

window.onload = function() { 

    var base = 10; 
    var numberField = document.getElementById('numberField'); 

    numberField.onkeyup = numberField.onpaste = function() { 

     if(this.value.length == 0) { 

      document.getElementById('result').innerHTML = ''; 
      return; 

     } 

     var number = parseInt(this.value); 

     if(isNaN(number)) return; 

     document.getElementById('result').innerHTML = number * base; 

    }; 

    numberField.onkeyup(); //could just as easily have been onpaste(); 
}; 
+0

也許發佈工作jsfiddle。 – Bruno

+0

這是小提琴http://jsfiddle.net/Dem6Q/176/ – user1851384

回答

0

您正在傾聽錯誤的事件onkeyup。相反,您應該聽整個字段發生變化時觸發.change,並在用戶輸入完成並且輸入字段失去焦點或模糊後觸發。

簡單的例子:

$(document).ready(function(){ 
    $(":input").change(function() { 
     //do something 
    }); 
}); 

的另一件事是,而使用jquery不是JavaScript。它會爲你節省很多頭痛。

+0

我試過這個tooo,但它不工作.. $(「。bayar5」)。keyup(function()//解釋代碼部分 { 如果(this.value.length == 0){//解釋代碼段 的document.getElementById( 'kembali5')的innerHTML = ''; //解釋代碼段 回報; } 變種bayar5 = parseInt函數( this.value) if(isNaN(bayar5))return; document.getElementById //解釋代碼部分 – user1851384

+0

您嘗試過.keyup現在嘗試.change – iOSAndroidWindowsMobileAppsDev

+0

我也嘗試過在dom中準備好,沒有工作... – user1851384