阻止form表单提交问题2.0
还是这个问题,其实早就应该发现的。问题:在验证表单的时候有的属性用Jquery的validate的插件验证很好用,然后其他别的属性Jquery上没有的就得用正则表达式,网上可以搜到很多,return false;就可以。但是今天我发现即使return false;它还是会提交。后来发现可能是和Jquery的validate插件冲突了,因为Jquery只负责它验证的那一部分,比如邮箱什么的它可以验证,但是像别的手机号码、还有验证重复密码是否一致这些由正则表达式负责的它是不会管的。所以即使返回false,Jquery插件还是继续提交。
<script> $().ready(function() { $("#commentForm").validate({ submitHandler: function(form) { if(flag){ form.submit();//一定要写这个,验证完之后才会提交 } } }); }); </script>
额,这里面flag是验证其他由正则表达式的,flag默认true,不符合正则表达式的话flag为false,这是我目前想到的办法。(这里flag是全局的Boolean变量)
还有一些问题:就是判别条件if(flag)这里,如果这样写:if(flag==true)这样,它基本上不会提交了,就是即使所有的验证都没有问题它也不会提交的。这样就没有问题,虽然我也不知道是什么原因。
我想了想,之前我没有发现这个问题是因为加了这个:// document.getElementById('name').value="";//清空原来的值,就是把不符合校验规则的值全部清空了,而且这几个属性我都设置的是必填,然后Jquery插件就不会提交。今天突发奇想把这句话去掉了,然后就出问题了。
在网上搜索的过程中,发现有可能你的JavaScript有些地方写错了,但是它没有给你报错,也会导致return false;失效,这种情况我还没有遇见过。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具