form表单提交时onsubmit绑定函数不触发 问题排查求助
问题原因和修复方案
核心故障点
你代码中的valide_GSM函数执行时会抛出JS异常,导致后续return false逻辑不生效,表单走默认提交逻辑刷新页面,具体问题出在:
你要定位的手机号输入框仅设置了name="txtGSM",没有添加id="txtGSM"属性,document.getElementById("txtGSM")无法找到对应DOM元素,直接报错终止执行。
其他不符合HTML规范的写法(不影响本次功能但建议修正)
- 原生HTML没有
type="TextBox"的输入框类型,需统一改为type="text" - 原生HTML设置元素样式类使用
class属性,你写的CssClass是ASP.NET专属属性,不会生效,bootstrap的样式无法正常加载。
修复代码示例
1. 修正手机号输入框属性
<input type="text" name="txtGSM" id="txtGSM" class="form-control" placeholder="GSM" minlength="7">
其余所有输入框的type="TextBox"和CssClass都对应修改为type="text"和class即可。
2. 后续手机号验证逻辑参考
function valide_GSM() { const gsmDom = document.getElementById("txtGSM"); const gsmVal = gsmDom.value.trim(); // 可根据需求调整正则规则,当前为匹配7位以上纯数字 const reg = /^\d{7,}$/; if(!reg.test(gsmVal)){ alert("请输入合法的手机号,最少7位数字"); gsmDom.focus(); return false; } // 验证通过后返回true,表单正常提交到后端PHP接口 return true; }
内容的提问来源于stack exchange,提问作者KingFlamini
相关产品推荐
相关产品推荐

