js获取form表单所有数据
代码如下:
<script type="text/javascript"> // 获取指定form中的所有的<input><select>对象 function getElements(formId) { var form = document.getElementById(formId); if(form == null){ return false; } var elements = new Array(); var inputTagElements = form.getElementsByTagName('input'); for (var j = 0; j < inputTagElements.length; j++) { elements.push(inputTagElements[j]); } var selectTagElements = form.getElementsByTagName('select'); for (var j = 0; j < selectTagElements.length; j++) { elements.push(selectTagElements[j]); } return elements; } // 获取单个input中的【name,value】数组 function inputSelector(element) { if (element.checked) return [ element.name, element.value ]; } function selectOne(element){ var value = $(element).find("option:selected").val(); if(value != ""){ var name = $(element).attr("name"); return [name, 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); case 'select-one': return selectOne(element); } return false; } // 组合URL function serializeElement(element) { var method = element.tagName.toLowerCase(); var parameter = input(element); if (parameter) { var key = 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 + '=' + 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('&'); } </script>
<body> <form id="login" name="login" method="post" action="result.jsp"> <input name="user" type="text"/> <input name="sex" type="radio" value="man"/> <input name="sex" type="radio" value="woman"/> interest:<input type="checkbox" name="interest" value="piu">PIU <input type="checkbox" name="interest" value="dss">DSS <input type="checkbox" name="interest" value="ddr">DDR<br> <input type="hidden" name="from" value="welcome"><br> <input type="button" name="submit" value="submit" onclick="getFormInfo();"> </form> </body> function getFormInfo(){ var params = serializeForm('login'); alert(params); }