1

我正在尝试根据某些单选按钮的值隐藏或显示 div,css 默认 div 为 display='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

4 回答 4

1

我认为它可能会说“getElementById”未定义的唯一原因是,如果您在将示例放在这里时没有在原始代码中输入错字(区分大小写总是让我感到困惑)或者,如果您以某种方式在页面的其他位置重新定义了文档。

于 2010-06-18T15:22:26.863 回答
0

嗯,你确定你的ID是对的吗?检查重复项。没有看到实际代码很难说。

于 2010-06-18T15:16:08.497 回答
0

这里的一切似乎都很稳固。如果你得到一个 getElementById() 没有定义,那么它可能是一个错字或一些缺失的语法,比如不匹配的括号。您可以假设您的 html 现在是正确的,专注于定义函数的脚本标记或文件我很确定您的问题出在那儿。

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

于 2010-06-18T15:19:16.290 回答
0

你在那里的代码,一行一行,在 Safari 中为我工作。getElementByID 就像 DOM 的根实现的一部分;如果未定义,我认为您在使用 Firefox 时遇到问题。

http://firefiter.com/temp.php

于 2010-06-18T15:21:36.533 回答