【发布时间】:2020-09-12 18:02:38
【问题描述】:
我有一个主要是 php 表单,其中有一个单选按钮 (rb) 控制问题。这个想法是,如果 rb 被选中“是”,那么问题的其余部分就会显示出来。为了初始隐藏其余部分,我向该 div 添加了一个 css 类,透明度为:0;当 rb 被选中“是”时,我正在使用 js 将不透明度设置为 1。
我不懂 PHP,所以不出所料,我在语法上苦苦挣扎(我认为)。
现在加载正常,但还没有工作......我需要为此显示整个 div
<div id="menopausal" class = "row">
<div class="col-xs-4 col-sm-4 ">
<label id="mps" for="mps">Are you menopausal?</label><br />
<?php $is_menopausal = (isset($questionnaire['is_menopausal']) && $questionnaire['is_menopausal'] == "1"); ?>
<label class="radio-wrap"><input id="mpsY" for="mpsY" type="radio" name="is_menopausal" value="1"
<?php echo $is_menopausal ? " checked " : "" ?> />
<?php if ($is_menopausal): ?>
<script>
document.getElementById("menopausal").getElementsByClassName("reveal-when-active").style.opacity = 1.0;
</script>
<?php endif; ?>
<span>Yes</span>
</label> /
<label class="radio-wrap"><input id="mpsN" for="mpsX" type="radio" value="0" name="is_menopausal"
<?php if (isset($questionnaire['is_menopausal']) && $questionnaire['is_menopausal'] == "0") echo " checked "; ?> /><span>No</span>
</label>
</div>
<div class="col-xs-4 col-sm-3 reveal-when-active">
<label>Age of onset:</label>
<input type="text" name="age_of_mp_onset" style="width: 50%;"
value="<?php if (isset($questionnaire['age_of_mp_onset'])) echo $questionnaire['age_of_mp_onset']; ?>"
class="form-control" />
</div>
<div class="col-xs-4 col-sm-3 reveal-when-active">
<label>Date of last period:</label>
<input type="text" name="date_of_last_period" style="width: 50%;"
value="<?php if (isset($questionnaire['date_of_last_period'])) echo $questionnaire['date_of_last_period']; ?>"
class="form-control" />
</div>
</div>
我的 javascript(现在有类)没有改变显露时活动...不透明度。在我看来它应该可以工作?
【问题讨论】:
-
document.getElementById("menopausal")正在寻找一个不存在的 id。另请注意,for出现在标签上,而不是<input>元素上。它用于将标签与输入匹配 -
if ( ... ) echo " checked "; {似乎是无效的语法。您需要将echo " checked "移到括号中,然后将script部分移出<input>html 元素属性。 jsfiddle.net/L6abx9w4 -
请假设 id 存在 :-) 我错过了输入标签。对不起,不明白你的如果,所以我现在得到的是上面编辑的 - 仍然不起作用。控制台中的错误是:GET https://....... 500
标签: javascript php hide