onClick切换无线电和标签元素

时间:2013-12-19 05:22:46

标签: javascript html css radio-button toggle

这就是我的尝试。

<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"单选按钮。

我在这里错了什么?

我希望在提交表单之前显示

4 个答案:

答案 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 :(得分: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;
}

答案 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>

答案 3 :(得分:1)

如果是YES则单击On,然后使用buttonId

运行此代码
document.getElementById("ButtonId").style.visibility="visible";