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){
             //表单提交
        }
    }

  • 相关阅读:
    Azure SQL Database (1) 用户手册
    Windows Azure Web Site (17) Azure Web Site 固定公网IP地址
    MongoDB数据文件内部结构
    压缩 MongoDB 的数据文件
    服务器如何选择网络带宽(转)
    刀片服务器和磁盘阵列卡(RAID)技术---永和维护(转)
    Solr打分出错
    Solr添加SolrDocument报错
    解决Windows Git Bash中文乱码问题
    HAProxy的独门武器:ebtree
  • 原文地址:https://www.cnblogs.com/guagua-join-1/p/8871655.html
Copyright © 2011-2022 走看看