You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击radio单选按钮控制HTML元素显隐功能失效求助

问题排查与修复方案

存在的2个核心问题

  • 语法错误:tripCheck函数缺少结束的右花括号},导致浏览器无法正常解析执行该JS函数,所以点击单选按钮无任何响应。
  • 业务逻辑写反:当前代码判断「往返单选框选中时隐藏返程日期区块」,和实际需求完全相反,往返场景需要展示返程日期,单程场景才需要隐藏。

修正后的完整代码

<!DOCTYPE html>
<html>
<head>
<script>
function tripCheck(){
    if (document.getElementById('round').checked){
        // 往返选中,展示返程日期区块
        document.getElementById('toggle').style.display = 'block';
    } else {
        // 单程选中,隐藏返程日期区块
        document.getElementById('toggle').style.display = 'none';
    }
}
// 页面加载完成后自动执行一次,保证初始状态正确
window.onload = tripCheck;
</script> 
</head>
<body>
<form action="/post" method="POST">

<!-- Radio Buttons -->
 <input type="radio" onclick="tripCheck();" name="oneround" id="round" checked>往返
 <input type="radio" onclick="tripCheck();" name="oneround" id="oneway">单程<br>

<!-- 出发到达机场输入区 -->
  <input type="text" name = "source" placeholder="请输入出发机场" required/>
  <input type="text" name = "dest" placeholder="请输入到达机场" required/><br>

<!-- 日期选择区 -->
出发日期:
  <input type="date" id="departure" name="ddate"
       value="mm/dd/yyyy" min="2000-01-01" max="2050-01-01" required>
  <div id="toggle">返程日期:
  <input type="date" id="return" name="rdate"
       value="mm/dd/yyyy" min="2000-01-01" max="2050-01-01"> 
  </div>

<!-- 提交按钮 -->
  <br>
  <input type="submit" value="查询航班">
  
</form>
</body> 
</html>

优化说明

原代码中onclick绑定的javascript:前缀属于冗余写法,直接写函数名即可正常调用。新增的window.onload = tripCheck可以保证页面刚打开时,返程区块的显示状态和默认选中的「往返」单选框状态匹配,避免出现初始状态不一致的问题。

内容的提问来源于stack exchange,提问作者therealcoba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:36:10