茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    js表單處理中單選、多選、選擇框值的獲取及表單的序列化
    來(lái)源:易賢網(wǎng) 閱讀:1701 次 日期:2016-07-22 15:33:02
    溫馨提示:易賢網(wǎng)小編為您整理了“js表單處理中單選、多選、選擇框值的獲取及表單的序列化”,方便廣大網(wǎng)友查閱!

    本文總結(jié)了下在表單處理中單選、多選、選擇框值的獲取及表單的序列化,寫成了一個(gè)對(duì)象。如下:

    var formUtil = {

      // 獲取單選按鈕的值,如有沒(méi)有選的話返回null

      // elements為radio類的集合的引用

      getRadioValue:function(elements) {

       var value = null; // null表示沒(méi)有選中項(xiàng)

       // 非IE瀏覽器

       if(elements.value != undefined && elements.value != '') {

        value = elements.value;

       } else {

        // IE瀏覽器

        for(var i = 0, len = elements.length; i < len; i++ ) {

         if(elements[i].checked) {

          value = elements[i].value;

          break;

         }

        }

       }

       return value;

      },

      // 獲取多選按鈕的值,如有沒(méi)有選的話返回null

      // elements為checkbox類型的input集合的引用

      getCheckboxValue:function(elements) {

       var arr = new Array();

       for(var i = 0, len = elements.length; i < len; i++ ) {

        if(elements[i].checked) {

         arr.push(elements[i].value);

        }

       }

       if(arr.length > 0) {

        return arr.join(',');

       } else {

        return null; // null表示沒(méi)有選中項(xiàng)

       } 

      },

      // 獲取下拉框的值

      // element為select元素的引用

      getSelectValue:function(element) {

       if(element.selectedIndex == -1) {

        return null; // 沒(méi)有選中的項(xiàng)時(shí)返回null

       };

       if(element.multiple) {

        // 多項(xiàng)選擇

        var arr = new Array(), options = element.options;

        for(var i = 0, len = options.length; i < len; i++) {

         if(options[i].selected) {

          arr.push(options[i].value);

         }

        }

        return arr.join(",");

       }else{

        // 單項(xiàng)選擇

        return element.options[element.selectedIndex].value;

       }

      },

      // 序列化

      // form為form元素的引用

      serialize:function(form) {

       var arr = new Array(),

       elements = form.elements,

       checkboxName = null;

       for(var i = 0, len = elements.length; i < len; i++ ) {

        field = elements[i];

        // 不發(fā)送禁用的表單字段

        if(field.disabled) {

         continue;

        }

        switch (field.type) {

         // 選擇框的處理

         case "select-one":

         case "select-multiple":

          arr.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(this.getSelectValue(field)));

          break;

         // 不發(fā)送下列類型的表單字段 

         case undefined :

         case "button" :

         case "submit" :

         case "reset" :

         case "file" :

          break;

         // 單選、多選和其他類型的表單處理  

         case "checkbox" :

          if(checkboxName == null) {

           checkboxName = field.name;

           arr.push(encodeURIComponent(checkboxName) + "=" + encodeURIComponent(this.getCheckboxValue(form.elements[checkboxName])));

          }

          break;

         case "radio" :

          if(!field.checked) {

           break;

          }

         default:

          if(field.name.length > 0) {

           arr.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(field.value));

          } 

        }

       }

       return arr.join("&");

      } 

     };

    一個(gè)簡(jiǎn)單的demo:

    <form action="test_php.php" id="form1" name="form1" method="post" enctype="multipart/form-data">

      姓名:<input name="name" type="text" tabindex="1" /> <br>

      性別:<input name="sex" type="radio" value="男"/> 男 

        <input name="sex" type="radio" value="女" /> 女 <br>

      愛(ài)好:

      <input name="hobby" type="checkbox" value="籃球" /> 籃球

      <input name="hobby" type="checkbox" value="足球" /> 足球

      <input name="hobby" type="checkbox" value="乒乓球" /> 乒乓球

      <input name="hobby" type="checkbox" value="羽毛球" /> 羽毛球

      <br />

      年級(jí):

      <select name="class" multiple>

       <option value="一年級(jí)">一年級(jí)</option>

       <option value="二年級(jí)">二年級(jí)</option>

       <option value="三年級(jí)">三年級(jí)</option>

      </select>

      <br />

       其他:

       <br />

       <textarea name="other" rows="5" cols="30" tabindex="2"></textarea>

       <br />

       <input type="reset" value="重置" />

       <input type="submit" value="提交" />

     </form>

     <div id="output"></div>

    var form = document.getElementById("form1"),

     output = document.getElementById("output");

     // 自定義的提交事件

     EventUtil.addEventListener(form,"submit", function(event) {

      event = EventUtil.getEvent(event);

      EventUtil.preventDefault(event);

      var html = "";

      html += form.elements['name'].value + "<br>";

      html += formUtil.getRadioValue(form.elements['sex']) + "<br>";

      html += formUtil.getCheckboxValue(form.elements['hobby']) + "<br>";

      html += formUtil.getSelectValue(form.elements['class']) + "<br>";

      html += form.elements['other'].value + "<br>";

      html += decodeURIComponent(formUtil.serialize(form)) + "<br>";

      output.innerHTML = html;

     });

    以上就是針對(duì)js表單處理中單選、多選、選擇框值的獲取及表單的序列化封裝的對(duì)象,希望對(duì)打擊的學(xué)習(xí)有所幫助。

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)