serializeForm批处理form表单数据

来源:互联网 发布:java字符串去掉双引号 编辑:程序博客网 时间:2024/05/29 10:28

直接上DEMO:

<form id="login" name="login" method="post" action="result.jsp"><!--<form id="login" name="login">-->    <input name="user" type="text"/>    <input name="sex" type="radio" value="man"/>    <input name="sex" type="radio" value="woman"/>    <input type="checkbox" name="interest" value="piu">    <input type="checkbox" name="interest" value="dss">    <input type="checkbox" name="interest" value="ddr">    <input type="hidden" name="from" value="welcome">    <input type="button" name="submit" value="submit" onclick="getFormInfo();"></form><script type="text/javascript">    //获取指定form中的所有的<input>对象    function getElements(formId) {        var form = document.getElementById(formId);        var elements = new Array();        var tagElements = form.getElementsByTagName('input');        for (var j = 0; j < tagElements.length; j++){            elements.push(tagElements[j]);        }        return elements;    }    //获取单个input中的【name,value】数组    function inputSelector(element) {        if (element.checked)            return [element.name, element.value];    }    function input(element) {        switch (element.type.toLowerCase()) {            case 'submit':            case 'hidden':            case 'password':            case 'text':                return [element.name, element.value];            case 'checkbox':            case 'radio':                return inputSelector(element);        }        return false;    }    //组合URL    function serializeElement(element) {        var method = element.tagName.toLowerCase();        var parameter = input(element);        if (parameter) {            var key = encodeURIComponent(parameter[0]);            if (key.length == 0) return;            if (parameter[1].constructor != Array)                parameter[1] = [parameter[1]];            var values = parameter[1];            var results = [];            for (var i=0; i<values.length; i++) {                results.push(key + '=' + encodeURIComponent(values[i]));            }            return results.join('&');        }    }    //调用方法    function serializeForm(formId) {        var elements = getElements(formId);        var queryComponents = new Array();        for (var i = 0; i < elements.length; i++) {            var queryComponent = serializeElement(elements[i]);            if (queryComponent)                queryComponents.push(queryComponent);        }        return queryComponents.join('&');    }    function getFormInfo(){        var params = serializeForm('login');        alert(params);    }</script>

转自 http://www.jb51.net/article/90756.htm

原创粉丝点击