SLib------序列化页面输入框的值

//改方法主要就是序列化页面form元素下的控件的值,以便ajax传到其他页面
//这个方法还有点问题,就是不能序列化radio和checkbox控件的值,还需要改进,如果有朋友可以指点的话,再下感激不尽

 

function serializeForm(formID){
         var formEle=document.getElementById(formID)||document.forms[formId];
         var returnString="";
         for(var i=0;i<formEle.elements.length;i++){
                 switch (formEle.elements[i].tagName){
                 case "INPUT":
                       switch(formEle.elements[i].type){
                             case "text":
                                   returnString +=encodeURIComponent(formEle.elements[i].name) +"="+ encodeURIComponent(formEle.elements[i].value) +"&";
                                   break;
                             case "checkbox":
                                   if(returnString.indexOf(encodeURIComponent(formEle.elements[i].name) +"=") ==-1){
                                      var chkList =document.getElementsByName(formEle.elements[i].name);
                                      var chkvalue ="";
                                      for(var chki=0;chki<chkList.length;chki++){
                                          if(chkList[chki].getAttribute("checked")==true){
                                                chkvalue +=chkList.value +",";
                                          }
                                      }
                                      returnString +=encodeURIComponent(formEle.elements[i].name) +"="+ encodeURIComponent(chkvalue) +"&";
                                   }
                                   break;
                            case "radio":
                                  if(formEle.elements[i].getAttribute("checked")==true){
                                      alert("true");
                                      returnString +=encodeURIComponent(formEle.elements[i].name) +"="+ encodeURIComponent(formEle.elements[i].value) +"&";
                                      break;
                                  }
                            case "password":
                                  returnString +=encodeURIComponent(formEle.elements[i].name) +"="+ encodeURIComponent(formEle.elements[i].value) +"&";
                                  break;
                            default :break;
                       }
                case "SELECT":
                       if(formEle.elements[i].selectedIndex)
                       returnString +=encodeURIComponent(formEle.elements[i].name) +"="+encodeURIComponent(formEle.elements[i].options[formEle.elements[i].selectedIndex].value) +"&";
                       break;
                case "TEXTAREA":
                       returnString +=encodeURIComponent(formEle.elements[i].name) +"="+ encodeURIComponent(formEle.elements[i].value) +"&";
                       break;
                }
             
         }
         return returnString;
     }

posted on 2008-10-08 16:02 易哲 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/swneng/archive/2008/10/08/1306430.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值