首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅当选中另一个复选框时才显示文本输入字段

仅当选中另一个复选框时才显示文本输入字段
EN

Stack Overflow用户
提问于 2011-10-07 18:45:15
回答 2查看 5.2K关注 0票数 0

我有一个将数据发布到proccess.php文件的表单。在表单中,我正在验证输入。有一个复选框,询问是否使用双人自行车。我想让它只显示一个文本输入字段,如果该框是勾选的。下面是我对这个角色的表单代码:

代码语言:javascript
复制
<tr>
  <td>
    <span style="font-weight:bold">Tandem:</span>
  </td>
  <td valign="middle">
    <input type="checkbox" name="tandem">&nbsp;
    <input style="visibility:hidden" type="text" name="partnerid" id="partnerid">
  </td>
</tr>

基本上,如果复选框"tandem“被选中,则设置文本输入字段"partnerid”visibility:visible;

EN

回答 2

Stack Overflow用户

发布于 2011-10-07 19:06:43

我推荐使用下面的代码。当输入元素的disabled属性为true时,无法编辑该元素。用户通常具有不应使用输入字段的指示。

代码语言:javascript
复制
<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.
票数 3
EN

Stack Overflow用户

发布于 2011-10-07 19:04:28

假设输入是在表单中,因此您可以在复选框上放置一个单击侦听器,该复选框根据文本输入是否选中而使其可见:

代码语言:javascript
复制
  <input type="checkbox" name="tandem" onclick="
    this.form.partnerid.style.visibility = this.checked? 'visible' : 'hidden';
  ">

使用change事件似乎是合乎逻辑的,但在IE中,只有在复选框失去焦点时才会触发,这有点违反直觉,所以使用click。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7686181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档