2013-05-06 68 views
1

我有一個功能,啓用或禁用基於哪個無線電項目被檢查的表單元素。它工作正常。但是,我希望在加載頁面時檢查其中一個單選按鈕,並且已經禁用或啓用了適當的表單元素。javascript onload頁面無線電檢查

現在在頁面加載,我有一個單選按鈕的窗體本身檢查,但JavaScript會觸發時,有變化。

這裏是JavaScript

<script type="text/javascript"> 
     function customerChoice() { 
      if (document.getElementById('radio1').checked) { 
       document.getElementById('company').disabled = false; 
       document.getElementById('onetime').disabled = true; 
       document.getElementById('span1').style.color = '#cccccc'; 
       document.getElementById('span2').style.color = '#000000'; 
       } 
      if (document.getElementById('radio2').checked) { 
       document.getElementById('company').disabled = true; 
       document.getElementById('onetime').disabled = false; 
       document.getElementById('span1').style.color = '#000000'; 
       document.getElementById('span2').style.color = '#cccccc'; 
      } 
     } 
window.onload = customerChoice(); 

</script> 

而且這裏有兩個單選按鈕。

<input type="radio" name="type" id="radio1" value="C" onclick="customerChoice()" checked />Current Customer<br /> 

<input type="radio" name="type" id="radio2" value="O" onclick="customerChoice()" />One Time Customer<br /> 

需要幫助搞清楚爲了使JavaScript在加載時觸發需要改變什麼。謝謝。

回答

4

嘗試:

window.onload = customerChoice; 

你馬上把它運行的功能,並設置onload處理程序的結果(路其是undefined,因爲函數不返回任何東西),而不是函數本身。它不工作,因爲它在DOM加載之前運行。

+0

即將自己添加相同的答案......最後的括號會導致函數立即運行,而不是在頁面加載完成時運行。 – 2013-05-06 18:35:39

+0

謝謝!現在工作。 – Tom 2013-05-06 18:39:02

0

嘗試把customerChoice()功能的匿名函數內部:

window.onload = function() { 
    customerChoice(); 
};