【发布时间】:2022-01-24 00:08:03
【问题描述】:
我正在尝试构建一个隐藏表单的多个输入框的表单,除非满足某个条件。
所以问题是:
您有单独的邮寄地址吗?
是的
没有
如果选择“是”,我想显示三个输入字段,分别是他们的邮寄地址、城市和邮政编码。 如果“不”,那么我不想出现任何东西。我只是希望他们能够进入下一行。
到目前为止,我从研究中得出的结论只有在我使用简单的单个输入框进行回复时才有效。当我尝试在他们自己的 div 中进行多个输入时,它会破坏表单。
<div class="form-item">
<label>
<input type="radio" id="yes" name="yesOrNo" value="yes" onchange="displayQuestion(this.value)" />Yes</label>
<label>
<input type="radio" id="no" name="yesOrNo" value="no" onchange="displayQuestion(this.value)" />No</label>
<div id="yesQuestion" style="display:none;"><br/>
<div class="form-item">
<label for="Mailing Address" class="req-field">Mailing Address</label>
<input id="Mailing_Address" name="Mailing Address" type="text" class="required-text" autocomplete="mailing-address"/>
</div>
<div class="form-item">
<label for="Mailing_City" class="req-field">City</label>
<input id="mailing_city" name="mailing_city" type="text" class="required-text" autocomplete="street-city"/>
</div>
<div class="form-item">
<label for="mailing_zip" class="req-field">Zip Code</label>
<input id="mailing_zip" name="mailing_Zip" type="text" class="required-text" autocomplete="street-zip"/>
</div>
</div>
</div>
function displayQuestion(answer) {
document.getElementById('noQuestion').style.display = "none";
if (answer == "yes") {
document.getElementById(answer + 'Question').style.display = "block";
} else if (answer == "no") { document.getElementById('yesQuestion').style.display = "none";
}
}
谢谢。
【问题讨论】:
标签: javascript forms conditional-statements hidden-field