2013-12-19 28 views
0

这就是我试过的。onClick切换收音机和标签元素

<form method="POST"> 
<label>YES</label> 
<input type="radio" name="yes"> 
<?php 
if(isset($_POST['yes']) === 'yes'){ 
?> 
<label>Show me on yes</label> 
<input type="radio" name="showme"> 
<?php 
} 

?> 
</form> 

所以,当我们选择单选按钮“是”比它必须显示"showme"单选按钮。

我在这里错了什么?

我希望它提交表单

+0

是的,我已经提交,但必须表明submittin – user3104720

+0

之前,你需要一些JS则这一点。某种类型的事件监听器。 –

+0

只需用正确的标签重新标记您的问题。 –

回答

2

我猜你正在寻找一个可能的前端解决方案,无需将数据提交到服务器之前表明,这就是你想要显示的radio上的另一种检验radio可以通过客户端脚本如JavaScript或jQuery的这样来实现,但如果它是这样比你能做到这一点纯CSS太...

Demo

Demo 2 (随着label

input[id="yes"] { 
    display: none; 
} 

label[for="yes"] { 
    display: none; 
} 

input[id="showyes"]:checked + label[for="yes"] { 
    display: block; 
} 

input[id="showyes"]:checked + label[for="yes"] + input[id="yes"] { 
    display: block; 
} 

注:如果客户有JS禁用了JavaScript/jQuery将失败,以及是的,JS可以是最好的方式,但为什么要使用它,如果它可以只用CSS很容易完成..

+1

非常感谢! – user3104720

+0

@ user3104720欢迎您:) –

1

为什么不选择javascript方案?

Here's the demo

而且,这里的标记:

<form method="POST"> 
<label>YES</label> 
<input type="radio" name="yes" onclick='showNow(this);'> 

<label class='showOnYes'>Show me on yes</label> 
<input class='showOnYes' type="radio" name="showme"> 
</form> 

和JavaScript

function showNow(target) { 
    if(target.checked); { 
     var all = document.getElementsByClassName("showOnYes"); 
     for (var i = 0; i < all.length; i++) { 
      all[i].style.display = 'block'; 
     } 
    } 
} 

最后一些CSS:

.showOnYes { 
    display: none; 
} 
+0

工程,但有另一个单选按钮,单击时出现。 –

+1

在你的标记中,还有2个单选按钮正确吗? –

1

给这尝试,它的风格。有2个单选按钮,但您可以随时删除一个。

<html> 
<head> 
<title></title> 
<style type="text/css"> 
div { 
position: absolute; 
left: 10px; 
top: 40px; 
background-color: #f1f1f1; 
width: 280px; 
padding: 10px; 
color: black; 
border: #0000cc 2px dashed; 
display: none; 
} 
</style> 

<script language="JavaScript"> 
function setVisibility(id, visibility) { 
document.getElementById(id).style.display = visibility; 
} 
</script> 

</head> 
<body > 

<form action='' method='POST'> 
<input type=radio name=type value='male' onclick="setVisibility('sub3', 'inline');setVisibility('sub4','none');";>Radio 1 <input type=radio name=type value='female' onclick="setVisibility('sub3', 'none');setVisibility('sub4','inline');";>Radio 2 

<div id="sub3"> 
YES 
</div> 

<div id="sub4" > 
NO 
</div> 
<br></form> 

</body> 

</html> 
1

的onclick如果是,那么运行这段代码与buttonId

document.getElementById("ButtonId").style.visibility="visible";