2016-11-18 22 views
0

私はこのコードを持っていますが、helpCallback()への入力値を取得できません。 私は閉鎖でそれをする必要があります。Javascript:変更入力の値を取得する方法

function tablaR(num){ 
    var seccion=document.getElementById("tabla"); 
    seccion.innerHTML=""; 
    seccion.style.display='block'; 

    for (var i = 0; i < 11; i++) { 
     var prod=parseInt(num*i); 
     var t=document.createTextNode(num+" x "+i+"= "); 
     var inp=document.createElement('INPUT'); 

     inp.setAttribute('type', 'number'); 
     inp.setAttribute('id', 'resul'); 

     inp.addEventListener("change", helpCallback(num, this.value)); 
     var para=document.createElement("p"); 
     para.appendChild(t); 
     para.appendChild(inp); 
     seccion.appendChild(para); 
    } 
} 

function helpCallback(prod, resp){ 
    return function(){ 
     resp=parseInt(inp.value); 
     if(resp!=prod){ 
      this.style.color = "red"; 
     } 
     else{ 
      this.style.color = "green"; 
     } 
    } 
} 

答えて

1

thisあなたがhelpCallback関数を実行している要素はありませんが、あなただけの代わりに返される関数の内部で働いていた

inp.addEventListener("change", helpCallback(num)); 

function helpCallback(prod){ 
    return function(){ 
     var resp = parseInt(this.value, 10); 

     if(resp!=prod){ 
      this.style.color = "red"; 
     } else{ 
      this.style.color = "green"; 
     } 
    } 
} 
+0

を値を得ることができます!ありがとう! – user7142440

関連する問題