我有一个将数据发布到proccess.php文件的表单。在表单中,我正在验证输入。有一个复选框,询问是否使用双人自行车。我想让它只显示一个文本输入字段,如果该框是勾选的。下面是我对这个角色的表单代码:
<tr>
<td>
<span style="font-weight:bold">Tandem:</span>
</td>
<td valign="middle">
<input type="checkbox" name="tandem">
<input style="visibility:hidden" type="text" name="partnerid" id="partnerid">
</td>
</tr>基本上,如果复选框"tandem“被选中,则设置文本输入字段"partnerid”visibility:visible;
发布于 2011-10-07 19:06:43
我推荐使用下面的代码。当输入元素的disabled属性为true时,无法编辑该元素。用户通常具有不应使用输入字段的指示。
<input type="checkbox" name="tandem" onchange="this.form.partnerid.disabled=!this.checked" />代码说明:
onchange=“…”当复选框的值更改时触发。这可以通过单击或使用键盘来实现。单击事件不足以实现此目的。this.form表单元素的事件监听器上下文中的表单引用表单然后可以通过此访问所有命名的表单元素。类型this.form.element_name或这类型[“element\u name”]。.checked==true),不应禁用输入(disabled=false)。这是通过使用协商完成的:this.form.partnerid.disabled = !this.checked.发布于 2011-10-07 19:04:28
假设输入是在表单中,因此您可以在复选框上放置一个单击侦听器,该复选框根据文本输入是否选中而使其可见:
<input type="checkbox" name="tandem" onclick="
this.form.partnerid.style.visibility = this.checked? 'visible' : 'hidden';
">使用change事件似乎是合乎逻辑的,但在IE中,只有在复选框失去焦点时才会触发,这有点违反直觉,所以使用click。
https://stackoverflow.com/questions/7686181
复制相似问题