如果输入正确的信息,如何使按钮亮起?

时间:2016-06-14 14:52:52

标签: javascript html css button calculator

我制作了一个排列和组合计算器。如果置换|选择组合,输入值,计算按钮应亮起。如何在不设置间隔的情况下执行此操作。我目前的代码:

function checkCalc(){
 if(((permutation==true)||(combination==true))&&(document.getElementById('r').value.length>0)&&(document.getElementById('n').value.length>0)){
  calculate.style.backgroundColor="#ccccff";
  calculate.style.boxShadow="10px 10px 5px gray";
 }
 else{
  calculate.style.backgroundColor="gray";
 }
}

setInterval(checkCalc, 50);

如果我删除了该功能(只是离开if语句),它就不起作用了。

2 个答案:

答案 0 :(得分:1)

当你正在检查值时,你可以在r文本字段上设置一个事件监听器(我假设它是一个文本字段?),一旦你输入内容就会被触发:

document.getElementById('r').onkeydown=function(){
 if(((permutation==true)||(combination==true))&&(document.getElementById('r').value.length>0)&&(document.getElementById('n').value.length>0)){
  calculate.style.backgroundColor="#ccccff";
  calculate.style.boxShadow="10px 10px 5px gray";
 }
 else{
  calculate.style.backgroundColor="gray";
 }
}

答案 1 :(得分:1)

您需要从输入中的keyup上调用此函数。

我做了一个演示:

var permutation=true;
var combination=true;
var calculate= document.getElementById('calculate')
function checkCalc(){
 if(((permutation==true)||(combination==true))&&(document.getElementById('r').value.length>0)&&(document.getElementById('n').value.length>0)){
   calculate.style.backgroundColor="#ccccff";
   calculate.style.boxShadow="10px 10px 5px gray";
 }else{
   calculate.style.backgroundColor="gray";
 }
}
<input type ="text" id ='r' onkeyup="checkCalc()">
<input type ="text" id ='n' onkeyup="checkCalc()">
<button id="calculate">Light</button>