0

我想仅在选中某个复选框时显示表单字段文本框,并在未选中时隐藏它。当我选中该框时,我已经获得了使其隐藏的代码,但是在加载页面时会显示文本框,直到我选中该框,这与我想要完成的相反。我对 javascript 很陌生,所以我确信这是非常初级的。谢谢你的帮助。

HTML:

<input type="checkbox" onclick="ShowCCFields(this.value);" name="CAT_Custom_510969" id="CAT_Custom_510969_7" value="Other..." />
Other...

<div class="item" id="other">
    <label for="CAT_Custom_510972">Other:</label><br />
    <textarea onkeydown="if(this.value.length&gt;=4000)this.value=this.value.substring(0,3999);" class="cat_listbox" rows="4" cols="10" id="CAT_Custom_510972" name="CAT_Custom_510972"></textarea>
</div>  

javascript:

// Hide or show textarea if the other checkbox field is checked
        var voucher = document.getElementById("CAT_Custom_510969_7");
        function ShowCCFields(val) {                            
            if (!document.getElementById('other'))
                return;         
            if (val == voucher.checked)
                document.getElementById('other').style.display = 'inline';              
            else
                document.getElementById('other').style.display = 'none';
        }   
4

3 回答 3

2

在 HTML 中将样式设置为 none,就像在 javascript 中一样:

<div class="item" id="other" style="display:none;">
于 2013-11-05T21:02:29.593 回答
2

为什么不将显示设置为无开始呢?您可以在 CSS 中执行此操作,也可以将其添加到

<div class="item" id="other" style="display: none;">
于 2013-11-05T21:03:29.370 回答
0

在要隐藏的控件中将 Display 设置为 none :

<div class="item" id="other" style="display: none;">

在你的 js 函数中:

document.getElementById('other').style.display = 'inline';              
于 2013-11-05T21:27:37.117 回答