2013-02-05 41 views
0

這段代碼爲什麼不工作?我希望它改變輸入背景的顏色,無論值是否正確(綠色)或不是(紅色)。Javascript如何比較兩個值然後更改背景顏色?

<html> 
<head> 
<script type="text/javascript"> 
function funct1() { 
var username = "63XZ4"; 
if(username == document.getElementById('keygen').value) { 

document.getElementById('keygen').style.backgroundColor = '#5bc556'; 
} 

else { 
colorchange.style.backgroundColor = 'red'; 
} 
} 
return 0; 
</script> 
</head> 
<body> 
<input type="text" id="keygen"> 
<button onclick="funct1"></button> 
</body> 
</html> 
+1

'onclick =「funct1()」'但這不是如何附加事件處理程序的最佳方式。另外,'colorchange'沒有被定義。你在函數定義之外有'return 0'。 – duri

回答

0
<html> 
<head> 
<script type="text/javascript"> 
function funct1() { 
    var username = "63XZ4"; 
    var keygen = document.getElementById('keygen'); 
    if(username == keygen.value) { 
     keygen.style.backgroundColor = '#5bc556'; 
    } else { 
     keygen.style.backgroundColor = 'red'; 
    } 
} 
</script> 
</head> 
<body> 
<input type="text" id="keygen" /> 
<button onclick="funct1()">Button Title</button> 
</body> 
</html> 

上面應該有所幫助。此外,你可能想看看這個:

  • 給你聲明的函數提供更多的描述性名稱。
  • 通過將DOM元素存儲在變量中來消除對「getElementById」的調用,從而節省時間。
+0

@ user2044663沒問題!我希望這有幫助。 –