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

表单提交时单选框选中仍触发未选alert的问题修复方法

问题根因
  • 单选按钮取值逻辑错误:直接使用$('input[type=radio][name=name]').val()取值时,会默认返回同name下第一个单选按钮的value,和是否选中无关,必须追加:checked伪类筛选才能获取到实际选中项的值,没有选中项时返回undefined。
  • 单选校验的判断逻辑存在漏洞:原有分支判断不管选中哪个单选按钮都会命中告警:如果选中值为inst,第一个r != 'inst'判断不成立,进入else if分支时r != 'hq'成立,触发告警;如果选中值为hq,第一个r != 'inst'直接成立,触发告警,相当于所有选中场景都会被拦截。
修复后的完整代码

JavaScript部分

$('#form_id').submit(function(el) {
    el.preventDefault();
    // 仅获取已选中的单选按钮值
    let r = $('input[type=radio][name=name]:checked').val();
    // 未选中时r为undefined,直接触发提示
    if(!r){
        alert('Please select radio');
        return false;
    }
    // 校验下拉选择框
    if($('#select_id').val() === '0'){
        alert('Please select option');
        return false;
    }
    // 所有校验通过后提交表单
    this.submit();
})

HTML部分无需修改,可直接复用现有代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:54:05