Ajax 异步提交方法

3 篇文章 0 订阅

这是今年用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("操作失败,请稍后再试!");
                                
                        }
                }
         });    

     }

实现效果如下:

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


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值