阻止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;失效,这种情况我还没有遇见过。

posted @   KongLong_cm  阅读(93)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示