2013-07-15 50 views
6

這是我有:HTML文本框輸入電平變化不工作

<script language="JavaScript"> 
 
    function toggle() { 
 
     if (this.value=='1') { 
 
      document.getElementById('dbOn').style.visibility='visible'; 
 
     } 
 
     else { 
 
      document.getElementById('dbOn').style.visibility='hidden'; 
 
      document.getElementById('dbOff').checked='checked'; 
 
     } 
 
    } 
 
</script> 
 

 
<form action="index" method="post"> 
 
    <input type="text" name="iterations" value="1" onChange="toggle()" > 
 

 
    <input type="radio" name="db" value="OFF" checked="checked" id="dbOff" >OFF<br> 
 
    <input type="radio" name="db" value="ON" id="dbOn" >ON 
 
</form>

的想法是,你將只被允許寫入數據庫,如果你正在做一個迭代。否則,我希望「開啓」選項被禁用或消失,並且自動檢查關閉。

到目前爲止,我已經嘗試onChange,onKeyUp和onKeyPress,但他們都沒有工作。任何想法我的代碼有什麼問題?

感謝

+0

當設置'checked'屬性,使用布爾 - '真'/'false' – Ian

回答

9

您需要調用函數時引用傳遞給你的元素。

onchange="toggle(this)" 

您還需要一個變量在你的函數值:

function toggle(element) { 
     if (element.value=='1') { 
    ... 

} 

DEMO:http://jsfiddle.net/axxCH/1/

+0

雖然沒有修復,因爲'toggle'沒有定義任何參數:) – Ian

+0

當然,我是多麼愚蠢。我正在使用'this',但忘記了通過參考。謝謝。 – fpele