这就是我的尝试。
<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 :(得分:2)
我猜你正在寻找一个可能的前端解决方案,而不是将数据提交给服务器,也就是说你希望在检查另一个radio
时显示radio
,这可以通过客户端来实现脚本,如JavaScript或jQuery,但如果是这样,那么你也可以通过纯CSS来实现...
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端解决方案?
而且,这是标记:
<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";