var flat=false;             return flat;      async:false,        是重点。
 

执行ajax时return false的function 与onsubmit()不是同一个函数,所以无论return 什么都会直接执行submit()提交表单

在执行ajax时,async默认的默认值为true,这种情况为异步方式,就是说ajax发送请求后,在等待服务端返回的这个过程中,前台会继续执行ajax块后面的脚本,直到服务端返回正确的结果才会执行success,也就是说这时执行的是两个线程,一个线程在执行ajax时另一个进程已经执行return flat了。所以一直返回false.把async改为false,这时才是同步方式,只有一个线程。

function checkNewEmail(){
             var flat=false;
             var re_email=new RegExp("\\w+@\\w+\\.\\w+\\.?\\w*");
             var newEmail=$("#email_new").val();
             if(re_email.test(newEmail)){
                 $.ajax({
                     type:"post",
                     dataType:"json",
                     async:false,//同步方式
                     url:"existEmail?email="+newEmail,
                     success:function(dataResult){
                         if(dataResult=="true"){
                             $("#emial-error").text("邮箱已注册。");
                             flat=false;
                         }else{
                             flat=true;
                         }
                     }
                 });
             }else{
                 $("#emial-error").text("邮箱格式不正确。");
                 return false;
             }
             return flat;
         }

---------------------
作者:Boh_
来源:CSDN
原文:https://blog.csdn.net/u010079945/article/details/38680769
版权声明:本文为博主原创文章,转载请附上博文链接!

onsubmit ajax return false 无效的更多相关文章

  1. onsubmit校验表单时利用ajax的return false无效解决方法

    代码: function checkNewEmail(){ var re_email=new RegExp("\\w+@\\w+\\.\\w+\\.?\\w*"); var new ...

  2. onsubmit校验表单时利用ajax的return false无效解决方法-转

    原来的代码 function checkNewEmail(){ var re_email=new RegExp("\\w+@\\w+\\.\\w+\\.?\\w*");      ...

  3. Ajax中return false无效 怎么解决?

    var flag=0; $.ajax({ url:"widget?type=member_register&ajax=yes&action=checkname&use ...

  4. js onsubmit和return false的关系

    一直以来,我都是以为onsubmit=“return false”就不会进行提交,但经过项目之后才知道return false只是避免了之后的跳转,但onsubmit已经是正在进行了,故onsubmi ...

  5. js ajax return false了,仍然会往下执行

    function checkMust(){ var flag=false; $.getJSON("../Ajax/Carton/Ajax_TMSOrder_Create.ashx?r=&qu ...

  6. ajax return true/false无效原因

    错误示例:function checkCP(customerId,productId){ $.ajax({ url:"/cp/checkCP", type:"post&q ...

  7. onsubmit="return false;"报错

    <form id="formpersonal" method="post" onsubmit="return false;">. ...

  8. ASP.NET里面,如果设置了form的 onsubmit="return false;"之后,就不能提交按钮了?

    我的按钮是写成的服务器控件的形式<asp:Button ID="btnSubmitBR" runat="server" Text="提交&quo ...

  9. FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别

    在页面中有多个input type="text"的文本输入框的情况下没有问题,但是当页面中有只有一个文本框的情况下(),就会出现此问题. 后来在form 中添加:onsubmit= ...

随机推荐

  1. shell统计当前文件夹下的文件个数、目录个数

    1. 统计当前文件夹下文件的个数 ls -l |grep "^-"|wc -l 2. 统计当前文件夹下目录的个数 ls -l |grep "^d"|wc -l ...

  2. 第七十四课 图的遍历(BFS)

    广度优先相当于对顶点进行分层,层次遍历. 在Graph.h中添加BFS函数: #ifndef GRAPH_H #define GRAPH_H #include "Object.h" ...

  3. lame定理求欧几里得算法的求余和赋值次数

    根据lame定理,根据欧几里得算法求(a,b)的最大公因数过程如下(假设a>b):

  4. markdown使用问题

    1.配置自定义的markdown.css https://github.com/sameer1994kiki/markdown-css 2.代码块 一行`` 多行 ``` <code>&l ...

  5. nginx负载均衡、nginx ssl原理及生成密钥对、nginx配制ssl

    1.nginx负载均衡 新建一个文件:vim /usr/local/nginx/conf/vhost/load.conf写入: upstream abc_com{ip_hash;server 61.1 ...

  6. linux报错jar包时出现“Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes”

    linux安装zip命令: yum install zip zip -d demo.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF

  7. springboot配置文件启动顺序

    [1]项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 1.–f ...

  8. Python——scapy模块实现tcp探测目标服务器路由轨迹

      scapy模块的安装 484 yum install tcpdump graphviz ImageMagick -y 485 wget http://www.secdev.org/projects ...

  9. timescaledb 集成 madlib

    github 上有人提出了一个问题(2017 很早了),然后搜索timescaledb 的docs 文档,发现有 一片介绍的文章,所以尝试运行下 备注: 环境使用虚拟机安装(没有使用docker ma ...

  10. mtail 部署说明

    了解一个工具最好的方式是先--help 下,看看支持的命令以及参数 启动mtail 最基本的参数: --logs 支持需要处理的log 文件,支持通过glob 模式的额查找,可以指定多次 --prog ...