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]);
}
var tagElements = form.getElementsByTagName(
'select');
for (
var j =
0; j < tagElements.length; j++){
elements.push(tagElements[j]);
}
var tagElements = form.getElementsByTagName(
'textarea');
for (
var j =
0; j < tagElements.length; j++){
elements.push(tagElements[j]);
}
return elements;
}
function serializeElement(element) {
var method = element.tagName.toLowerCase();
var parameter;
if(method ==
'select'){
parameter = [element.name, element.value];
}
switch (element.type.toLowerCase()) {
case 'submit':
case 'hidden':
case 'password':
case 'text':
case 'date':
case 'textarea':
parameter = [element.name, element.value];
break;
case 'checkbox':
case 'radio':
if (element.checked){
parameter = [element.name, element.value];
}
break;
}
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(
'&');
}
最后通过serializeForm(formId);输入form的id名称即可实现,返回数据为
id=
1&title=