zoukankan      html  css  js  c++  java
  • 表单序列化

    序列化表单值的作用是将表单中的值拼装成字符串形式的key-value键值对提交给后台服务器程序解析,来获取用户的输入值最总看到的效果如下
    name=124&company=baidu.com&fav=1,2,3

    下面是示例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>Document</title>
    </head>
    <body>
        <form id="biaodan">
            <p>
                请输入姓名:
                <input type="text" name="xingming" />
            </p>
            <p>
                请选择性别:
                <input type="radio" name="sex" value="男"/><input type="radio" name="sex" value="女"/><input type="radio" name="sex" value="保密"/> 保密
            </p>
            <p>
                请选择国籍:
                <input type="radio" name="nationality" value="中国"/> 中国
                <input type="radio" name="nationality" value="外国"/> 外国
            </p>
            <p>
                请选择你的爱好:
                <input type="checkbox" name="hobby" value="足球"/> 足球
                <input type="checkbox" name="hobby" value="篮球"/> 篮球
                <input type="checkbox" name="hobby" value="吃饭"/> 吃饭
                <input type="checkbox" name="hobby" value="睡觉"/> 睡觉
                <input type="checkbox" name="hobby" value="打豆豆"/> 打豆豆
            </p>
            <p>
                选择你的省份:
                <select name="hometown" >
                    <option value="北京">北京</option>
                    <option value="上海">上海</option>
                    <option value="东莞">东莞</option>
                    <option value="广州">广州</option>
                </select>
            </p>
            <p>
                密码:
                <input type="password" name="password" />
            </p>
            <p>
                留言:
                <textarea name="message" id="" cols="30" rows="10"></textarea>
            </p>
            <p>
                <input type="button" value="点击提交" id="btn"/>
            </p>
        </form>
    
        <script type="text/javascript" src="js/myajax.js"></script>
        <script type="text/javascript">
            var biaodan = document.getElementById("biaodan");
            var btn = document.getElementById("btn");
    
            btn.onclick = function(){
                //得到表单中的所有控件
                var elems = biaodan.elements;
                //结果数组
                var arr = [];
    
                //遍历所有的控件
                for(var i = 0 ; i < elems.length ; i++){
                    //当前遍历的小元素
                    var e = elems[i];
                    //分类讨论:
                    switch(e.type){
                        //如果控件的类型是个按钮,那么没有任何返回值
                        case "button" :
                        case "submit" :
                        case "reset" :
                            break;
                        case "text" :
                        case "password" :
                        case "textarea" :
                            arr.push(e.name + "=" + e.value);
                            break;
                        case "radio":
                        case "checkbox":
                            e.checked && arr.push(e.name + "=" + e.value);
                            break;
                        case "select-one":
                            var options = e.getElementsByTagName("option");
                            console.log(options);
                            for(var j = 0 ; j < options.length; j++){
                                if(options[j].selected){
                                    arr.push(e.name + "=" + options[j].value);
                                }
                            }
                            break;
                    }
                }
                console.log(arr.join("&"));
            }
        </script>
    </body>
    </html>
  • 相关阅读:
    2.ECMAScript 5.0
    1.Javascript简介
    9.定位
    HDU2032 杨辉三角
    HDU2058 The sum problem
    HDU2091 空心三角形
    HDU1166 敌兵布阵(树状数组模板题)
    HDU2049 不容易系列之(4)——考新郎
    Python网络爬虫与信息提取(三)(正则表达式的基础语法)
    HDU6576 Worker
  • 原文地址:https://www.cnblogs.com/xiao-song/p/6087805.html
Copyright © 2011-2022 走看看