通过单选按钮隐藏/显示div

时间:2010-06-18 15:07:15

标签: javascript html onchange

我试图隐藏或显示基于某些单选按钮值的div,css默认div显示='none'

这是输入

<input type="radio" id="payment_type" value="cash" checked="checked" name="payment_type" onchange="showhideFinancing(this.value);"/>&nbsp;Cash/Debit
<input type="radio" id="payment_type" value="cheque" name="payment_type" onchange="showhideFinancing(this.value);"/>&nbsp;Cheque
<input type="radio" id="payment_type" value="visa" checked="checked" name="payment_type" onchange="showhideFinancing(this.value);"/>&nbsp;VISA
<input type="radio" id="payment_type" value="mc" name="payment_type" onchange="showhideFinancing(this.value);"/>&nbsp;Mastercard
<input type="radio" id="payment_type" value="financing" name="payment_type" onchange="showhideFinancing(this.value);"/>&nbsp;Financing

这是div:

<div id="financing">
...
</div>

我的Javascript fn看起来像这样:

function showhideFinancing(payment_type) {
    if (payment_type == "financing") {
        document.getElementById("financing").style.display = 'block';
    } else {
        document.getElementById("financing").style.display = 'none';
    }
}

Firebug显示未定义getElementById - 谢谢!

4 个答案:

答案 0 :(得分:1)

我认为可能会说“getElementById”未被定义的唯一原因是,如果您在原始代码中输入了一个拼写错误,而不是将样本放在此处(区分大小写的情况始终是得到我)或者如果你以某种方式在页面的其他地方重新定义了文档。

答案 1 :(得分:0)

嗯,你确定你有正确的ID吗? 检查重复项。没有看到实际代码就很难分辨。

答案 2 :(得分:0)

这里的一切看起来都很扎实。如果你没有定义getElementById()那么它可能是一个拼写错误或一些丢失的语法,如不匹配的括号。你可以假设你的html现在是正确的,专注于脚本标签或定义函数的文件我很确定你的问题就在那里。

发布更多代码以获得更多帮助。

答案 3 :(得分:0)

你在那里的代码,line for line,在Safari中适合我。 getElementByID就像DOM的根实现的一部分;如果它没有定义,我认为你有Firefox的问题。

http://firefiter.com/temp.php