2011-05-27 86 views
0

如何隐藏表单并在单击标签时显示它?如何在javascript中隐藏表单

<form id="form1" action="javascript:return true;" name="form1"> 
<input type="radio" name="group1" value="opt1" id="opt1" 
onclick="show()"><label for="opt1">Option 1</label><br> 
<input type="radio" name="group1" value="opt2" id="opt2" 
onclick="show()"><label for="opt2">Option 2</label><br> 
<input type="radio" name="group1" value="opt3" id="opt3" 
onclick="show()"><label for="opt3">Option 3</label><br> 

<div id="droplist"> 
<select name="opt2-select"> 
<option value='opt2a'>Option 2A</option> 
<option value='opt2b'>Option 2B</option> 
<option value='opt2c'>Option 2C</option> 
</select> 
</div> 
</form> 

<label id="a" onclick="formenable()">click</label>.... 

function formenable() 
{ 
var o=document.getElementById("form1"); 
o.style.visibility="hidden" 
} 

首先窗体应该隐藏默认。点击标签后,应显示表格。我怎么做?

回答

1
<form id="form1" action="javascript:return true;" name="form1" style="display:none"> 

<script> 
function cl(obj) { 
    div = document.getElementById(obj.id + 'div'); 
    div.style.display = (div.style.display == 'block') ? 'none' : 'block'; 
} 
</script> 

<label id="browser" onclick="cl(this)">Browser</label> 

<div id="browserdiv" style="display: none"> 
    Browser stuff goes here 

    <label id="os" onclick="cl(this)">OS</label> 

    <div id="osdiv" style="display: none"> 
     OS stuff goes here 
    </div> 

</div> 

有了这个,当你点击浏览器标签,所有的“操作系统”的仍然会出现/消失,无需做任何额外的隐藏/显示。可能不完全是你想要的,但应该让你开始。

+0

如何启用它被点击一个标签时.......? – thuk 2011-05-27 19:53:11

+0

o.style.visibility =“visible” – 2011-05-27 19:55:03

+0

@thuk:'o.style.visibility ='visible''而不是'hidden'。 – 2011-05-27 19:55:27

0

首先,您必须将该窗体的CSS样式display设置为none。然后你可以使用例如。 jQuery的.show() function

CSS样式看起来像这样:

form#form1 { 
    display: none; 
} 
+0

@thuk它有帮助吗? – Tadeck 2011-05-27 19:57:50

+0

@Tadeck雅它帮助我.. – thuk 2011-05-27 20:10:55

+0

@Tadeck一个问题http://jsfiddle.net/saravanabalaji/XHV7X/3/。看这个。当我们点击“游戏”时,“os”会出现一个文本框。当我们再次点击os时,文本框将消失。但问题是,当我们再次点击浏览器的操作系统和文本框必须消失,但操作系统本身消失..建议........... – thuk 2011-05-27 20:54:26