zoukankan      html  css  js  c++  java
  • 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;
         }

  • 相关阅读:
    C#遍历List并删除某个或者几个元素的方法
    7月清北学堂培训 Day 4
    7月清北学堂培训 Day 3
    7月清北学堂培训 Day 2
    7月清北学堂培训 Day 1
    P1383 高级打字机
    P2401 不等数列
    P1412 经营与开发
    P1314 聪明的质监员
    2019.7.9 校内测试 T3 15数码问题
  • 原文地址:https://www.cnblogs.com/swneng/p/1306430.html
Copyright © 2011-2022 走看看