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

  • 相关阅读:
    泰山之行
    泰山之行
    Java EE (2) -- Java EE 6 Enterprise JavaBeans Developer Certified Expert(1z0-895)
    一、浏览器生成消息(2)
    P1194 买礼物 洛谷
    P1195 口袋的天空 洛谷
    P1546||2627 最短网络 Agri-Net 洛谷||codevs
    P3366 最小生成树【模板】 洛谷
    T2627 村村通 codevs
    【目录】我的原创技术视频教程
  • 原文地址:https://www.cnblogs.com/guagua-join-1/p/8871655.html
Copyright © 2011-2022 走看看