信息发布→ 登录 注册 退出

根据单选按钮的选择禁用文本输入框

发布时间:2025-10-26

点击量:

根据单选按钮的选择禁用文本输入框

本文介绍了如何使用 J*aScript 根据单选按钮的选择动态地禁用或启用文本输入框。通过监听单选按钮的点击事件,并根据当前选中的按钮,控制文本输入框的 `disabled` 属性,从而实现交互式的表单控制。文章提供了详细的代码示例和解释,帮助开发者快速掌握该技巧,并将其应用到实际项目中。

在 Web 开发中,经常需要根据用户的选择来动态地改变表单元素的行为。一个常见的需求是根据单选按钮的选择,禁用或启用某些文本输入框。本文将详细介绍如何使用 J*aScript 实现这一功能。

实现原理

实现的核心在于监听单选按钮的 click 事件,并在事件处理函数中,根据当前选中的单选按钮,设置文本输入框的 disabled 属性。当 disabled 属性为 true 时,文本输入框将被禁用,用户无法输入内容。当 disabled 属性为 false 时,文本输入框将被启用,用户可以正常输入内容。

代码示例

以下是一个完整的 HTML 示例,展示了如何根据单选按钮的选择禁用或启用文本输入框:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>根据单选按钮禁用文本框</title>
</head>
<body>
  <form>
    禁用: <input type="radio" name="radios" id="disableRadio" onclick="enableDisable()">
    启用: <input type="radio" name="radios" id="enableRadio" onclick="enableDisable()">
    文本框: <input type="text" name="text" id="textBox">
  </form>

  <script>
    function enableDisable() {
      const disableRadio = document.getElementById('disableRadio');
      const textBox = document.getElementById('textBox');

      textBox.disabled = disableRadio.checked;
    }
  </script>
</body>
</html>

代码解释:

  1. HTML 结构:

    黄页吧 黄页吧

    前台目前的功能有: 1.搜索:它可以多方面来搜索:关键字来搜索,多个关键字之间用空格分开(如:南内环 计算机),将搜索把有南内环街上的计算机公司; 按行业浏览,行业类别分三层,你可以依次选择你需要的类别来搜索这个行业下的所有单位; 地区关键字搜索:根据你所选择的地区和关键字来显示相关单位; 行业地区搜索:你可以不输入关键字直接来查找某个地区的所有行业下的单位,你也可以输入关键字来搜索相应地区的行业

    黄页吧 0 查看详情 黄页吧
    • 创建两个单选按钮,id 分别为 disableRadio 和 enableRadio,name 属性都设置为 radios,确保它们属于同一组单选按钮。
    • 创建一个文本输入框,id 为 textBox。
    • 为每个单选按钮添加 onclick 事件处理函数 enableDisable()。
  2. J*aScript 代码:

    • enableDisable() 函数:
      • 获取 disableRadio 和 textBox 元素的引用。
      • 将 textBox 的 disabled 属性设置为 disableRadio.checked 的值。如果 disableRadio 被选中,则 textBox.disabled 为 true,文本框被禁用;否则,textBox.disabled 为 false,文本框被启用。

优化方案

上述代码直接在 HTML 元素上绑定了 onclick 事件,虽然简单直接,但在大型项目中可能不够灵活。更推荐的做法是将事件监听器添加到 J*aScript 代码中:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>根据单选按钮禁用文本框</title>
</head>
<body>
  <form>
    禁用: <input type="radio" name="radios" id="disableRadio">
    启用: <input type="radio" name="radios" id="enableRadio">
    文本框: <input type="text" name="text" id="textBox">
  </form>

  <script>
    document.addEventListener('DOMContentLoaded', function() {
      const disableRadio = document.getElementById('disableRadio');
      const enableRadio = document.getElementById('enableRadio');
      const textBox = document.getElementById('textBox');

      function enableDisable() {
        textBox.disabled = disableRadio.checked;
      }

      disableRadio.addEventListener('click', enableDisable);
      enableRadio.addEventListener('click', enableDisable);
    });
  </script>
</body>
</html>

代码解释:

  • 使用 DOMContentLoaded 事件确保在 DOM 加载完成后再执行 J*aScript 代码。
  • 使用 addEventListener 方法为 disableRadio 和 enableRadio 元素添加 click 事件监听器。
  • enableDisable 函数与之前的版本相同。

这种方式将 HTML 结构和 J*aScript 行为分离,提高了代码的可维护性和可读性。

总结

本文介绍了如何使用 J*aScript 根据单选按钮的选择动态地禁用或启用文本输入框。通过监听单选按钮的 click 事件,并根据当前选中的按钮,控制文本输入框的 disabled 属性,可以实现交互式的表单控制。选择合适的事件绑定方式,可以提高代码的可维护性和可读性。掌握这一技巧,可以为用户提供更加灵活和友好的表单交互体验。

以上就是根据单选按钮的选择禁用文本输入框的详细内容,更多请关注其它相关文章!


相关文章: Animex动漫社网入口地址 Animex动漫社网正版在线入口  MAC如何安全彻底地删除文件_MAC使用终端命令确保文件无法被恢复  MAC怎么安装Homebrew包管理器_MAC为开发者和高级用户安装命令行工具  机构:以往存储涨价周期小米利润率实际上有所改善 能转嫁给消费者等  海棠账号登录入口_登录海棠账户同步阅读记录  韩剧圈正版入口页面_韩剧圈官网登录链接  使用PHP从URL路径中提取倒数第二个片段  C++如何使用AddressSanitizer(ASan)_C++调试工具中检测内存访问错误的利器  Django模型中自动计算可用余额的实现方法  sublime怎么进行远程开发编辑_配置rsub/rmate实现sublime编辑服务器文件  抖音网页版快捷访问 抖音网页版网页版入口操作教程  J*a里如何实现线程安全的懒加载单例_懒加载单例实现方法解析  c++中的std::forward_list和std::list有什么不同_c++ forward_list与list区别分析  css元素hover动画延迟生效怎么办_使用animation-delay调整触发时间  抖音极速版最新版本 抖音极速版官方下载地址  如何在 Excel Online 和 Google 表格中更改日期格式  C++如何检测键盘输入_C++ _kbhit与_getch函数非阻塞输入  mysql密码锁定怎么解锁_mysql密码锁定解锁后修改密码步骤  如何优雅地扩展SprykerGlue后端API授权逻辑,使用spryker/glue-backend-api-application-authorization-connector-extension  React Hooks最佳实践:动态组件状态管理的组件化方案  J*aScript数据结构转换:将对象数组按类别分组  在WordPress中通过REST API访问受BasicAuth保护的站点内容  Win10怎么制作U盘启动盘 Win10系统安装U盘制作教程【详解】  PHP中SSG-WSG API的AES加密实践:正确使用初始化向量  QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台  不同用户不同价格! 索尼开启账户个性化定价测试  Lar*el 8 多关键词数据库搜索优化实践  可靠CSGO开箱平台解析 CSGO开箱网合集  Lar*el拼写容错搜索策略:基于语音编码的优化实践  mysql如何设置表访问权限_mysql表访问权限配置  网易大神怎么保存别人动态的图片_网易大神动态图片保存方法  解决J*aScript中重复选择项的确认对话框显示问题  J*aScript:在map操作中高效处理空数组  PyTorch模型训练效果不佳?深入剖析常见错误与调试技巧  C++如何实现异步操作_C++11使用std::future和std::async进行异步编程  顺丰快件物流信息 官方网站查询入口  c++如何使用TBB库进行任务并行_c++ Intel线程构建模块  Lar*el 中按“Has One Of Many”关联模型排序的最佳实践  Golang如何使用buffered channel提高性能_Golang buffered channel优化技巧  铃兰之剑为这和平的世界希里技能组及加点推荐  AO3最新入口2025公告_AO3中文官网合集  如何在J*a中实现统一对象行为接口_项目大型化时的接口规范化  在Blazor WebAssembly应用中动态注入客户端特定指标代码的策略  EMS快递官网app_中国邮政速递物流手机客户端  Lar*el Excel导入时生成自定义递增ID的策略与实践  C#如何安全地从用户上传的XML文件中读取数据? 验证与清理策略  Win11怎么合并任务栏图标 Win11开启任务栏合并减少图标占空间【方法】  Lar*el Form Request 中唯一性验证更新操作的正确实践  126邮箱手机版登录官网2026_126手机邮箱免费入口最新  如何设置Windows Defender的定时扫描_计划任务实现自动杀毒【安全】 

在线客服
服务热线

服务热线

4008988990

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!