1

我有一个功能可以根据选中的单选项目启用或禁用表单元素。它工作正常。但是,我希望在页面加载时检查其中一个单选按钮,并且相应的表单元素已经禁用或启用。

现在在页面加载时,我在表单本身上检查了其中一个单选按钮,但是当发生更改时,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

2 回答 2

4

尝试:

window.onload = customerChoice;

你拥有它的方式立即运行函数,并将onload处理程序设置为结果(即undefined,因为函数不返回任何内容),而不是函数本身。它不起作用,因为它在加载 DOM 之前运行。

于 2013-05-06T18:34:58.837 回答
0

尝试将customerChoice()函数放入匿名函数中:

window.onload = function() {
  customerChoice();  
};
于 2013-05-06T18:33:07.390 回答