zoukankan      html  css  js  c++  java
  • 表单验证 串行化

    ajax验证与表单提交提示冲突问题解决

     (2009-09-18 10:11:54)
    标签: 

    杂谈

     
    对于有些比较重要的业务规则进行验证是必不可少的.此时可能会有前台验证与后台验证
    都要处理的情况.
        举例说,对于某个字段,前台必须验证数据库中是否存在同名的.一般的做法是当文本失
    去焦点时,进行ajax验证.如果存在同名的,给出提示信息"XX已存在!".也就是验证文本框要
    失去焦点,ajax验证请求才发出去.但如果是在点击提交按钮时触发的该事件情况就不一样
    拉.此时ajax验证会触发,提交也会向服务器发出请求.由于服务器也做了验证,出现同名就
    会抛出异常信息,并提示给前台界面显示.这时ajax出会返回提示信息.就会出现针对同一问
    题出现两次验证的情况.
        之所以会出现这种情况,就是因为这两个请求不是串行处理的.没能监控到如果有一个
    出现问题,另一个就不提示.所以说要解决该问题就必须让请求串行化.
        这里用到了一个比较重要的javascript函数setTimeout("aa();",3000);它会在3s后
    执行aa函数.所以可以在ajax请求返回值做文章.设置一个returnValue = true;如果返
    回的是错误信息就将它设为false;然后在提交方法中对returnValue做判断.如果为true
    才提交表单请求.问题就解决拉!

    示例代码
    function submitForm(){
       var isPass=$(submitFormName).fireEvent("onSubmit");
       if(isPass){
          setTimeout("mySubmitForm();",3000);
       }
    }
    function mySubmitForm(){
       if(设置一个returnValue){
             //表单提交
        }
    }

  • 相关阅读:
    asp.net C# 实现阿里大鱼和云片网短信接口类
    asp.net C# 实现微信接口权限开发类
    asp.net C# 实现微信服务器配置
    php学习资料
    阿里云ECS升级OpenSSL记录
    Docker(十三):OpenStack部署Docker集群
    Docker(十二):Docker集群管理之Compose
    Docker(十一):Docker实战部署HTTPS的Tomcat站点
    Docker(十):Docker安全
    Docker(九):Docker容器卷插件
  • 原文地址:https://www.cnblogs.com/guagua-join-1/p/8871655.html
Copyright © 2011-2022 走看看