Ajax 异步提交方法

来源:互联网 发布:网络连上但打不开网页 编辑:程序博客网 时间:2024/04/27 16:30

这是今年用Ajax在页面做一个异步添加的动作,里面包括很多js处理方法和验证,代码比较乱。关于Ajax的部分已经用红色标出,也用以纪念一下自己的成长。

Ajax 异步提交方法,接下来是主要的js实现方法。

 

function addMailTracking(){//$("#WayBillsingleFrom").valid();    var flightno=$("#flightno").val();    var arrivepost=$("#arrivepost").val();    var sealingtype=$("#sealingtype").val();    var oper=$("#oper").val();    var mailType=$("#mailType").val();     var sealingdate=$("#sealingdate").val();    var packageno=$("#packageno").val();    var m_mailcodes = $("#m_mailcodes").val().replace(/[\r\n]/g,"$$");    var bagno=$("#bagno").val();    var mailno=$("#mailno").val();     var weight=$("#weight").val();     var setpost=$("#setpost").val();          var sealingtype=$("#sealingtype").val();    var mailType=$("#mailType").val();     if(-1==flightno||-1==arrivepost||-1==oper){//不选择选项myErrorTips("请选择寄达局,航班,封发员");     return false;     }     if(""==packageno||""==bagno||""==weight||""==mailno){//不输入myErrorTips("请输入完整的总包信息");        return false;     }     if(mailType==1&&sealingtype==1&&""==m_mailcodes){//挂包正常件,条码为空myErrorTips("请输入条码再添加");     return false;     }       $.ajax({           type : "post",            url : "${ctx}/mailtracking.action?method=wayBillsingle&flight=" + flightno+"&arrivepost="+encodeURI(encodeURI(arrivepost))          +"&sealingtype="+sealingtype+"&oper="+oper+"&mailType="+mailType+"&sealingdate="+sealingdate+"&packageno="+packageno          +"&m_mailcodes="+m_mailcodes+"&bagno="+bagno +"&mailno="+mailno+"&weight="+weight+"&setpost="+encodeURI(encodeURI(setpost)),            async : false,            success : function(data){                                 data = data.toString();                   var isCor=data.toString().indexOf("OK");                   var isNotMail=data.toString().indexOf(",,,");//条码不合法                   var isRepeatCode=data.toString().indexOf("repeat");                   if(isRepeatCode != -1){//条码重复,不给插入,给提示                   errorCodes = data.split("...");//分割出重复的条码                   tipsString = "总包登记失败,已登记条码:"+errorCodes[1];                   myErrorTips(tipsString+"");                   return true;                   }                   if (isCor != -1) {                   if(isNotMail!=-1){// myErrorTips("邮件条码不合法,请检查邮件条码!");                   errorCodes = data.split(",,,");//分割出错误条码,下标1                     tipsString="不合法条码:"+errorCodes[1];                     tipsString=tipsString.substring(0,tipsString.length-1);                     var temp;                     str = data.split("...");//分割出id和错误条码                     temp=str[1];                   str=temp.split(",,,");//分割出id                   w_id=str[0];//数据库表的id,唯一的标识//alert("tipsString:"+tipsString+"w_id:"+w_id);                   append();                   clear();                   $("#arrivepost").focus();                   return true;                   }                   str = data.split("...");                   w_id=str[1];//数据库表的id,唯一的标识                    myTips("succeed", "总包添加成功!", "", .1, "", 2, "300px", "200px");                   tipsString="总包添加成功";                            append();                             clear();                        $("#arrivepost").focus();                                                    }                         else {                            myErrorTips("操作失败,请稍后再试!");                                                        }                }         });         }

实现效果如下:

点击添加,可以一个一个的在列表上部插入。


3 0