尝试在加载时隐藏HTML文本输入,但如果选中单选按钮,则表单将显示。
http://pastie.org/private/ah39ul5h4jtmlntkbmmda
我有点工作,我只需要在页面加载时隐藏字段。
<form action="profile_edit_gravatar.php" method="post">
<label class="radio inline">
<input type="radio" <?php if($row[16]=='account') {echo ' checked';}?> onload="this.form.otheremail.style.visibility='hidden';" onclick="
if (this.checked) {
this.form.otheremail.style.visibility='hidden';
} else {
this.form.otheremail.style.visibility='visible';
}
return true;
">
Use <?php echo $row[3];?>
</label>
<input type="text" name="otheremail">
</form>
答案 0 :(得分:1)
我如何为广播和字段提供ID - 实际上不那么重要我现在写了一个使用getElementsByName的脚本......
<?php $hide = $row[16]=='account'; ?>
<style>
<?php if ($hide) { echo '#otheremail {visibility:hidden;}'; ?>
</style>
<script>
window.onload=function() {
var rads = document.getElementsByName("gravatarradios");
rads[0].onclick=rads[1].onclick=function() {
this.form.otheremail.style.visibility=(this.value=="Use")?'hidden':'visible';
}
if (<?php echo $hide; ?>) rads[0].click(); else rads[1].click();
}
</script>
HTML
<form action="profile_edit_gravatar.php" method="post">
<label class="radio" for="gravatarradios1">
<input type="radio" name="gravatarradios" id="gravatarradios1" value="Use">
Use </label>
<label class="radio" for="gravatarradios2">
<input type="radio" name="gravatarradios" id="gravatarradios2" value="Use other">
Use another email:
</label>
<input type="email" name="otheremail" id="otheremail" placeholder="Gravatar email address">
</form>
答案 1 :(得分:0)
您可以使用CSS设置样式。这将默认隐藏所有输入:
input {
visibility: hidden;
}
答案 2 :(得分:0)
输入元素没有onload事件,您可以使用CSS默认隐藏元素,然后在单击单选框时对其进行处理。
另一种选择是使用onload for body。
<body onload="document.forms[0].otheremail.style.visibility='hidden';" >