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); }

浙公网安备 33010602011771号