<form id="form">
<input type="text" name="n1" value="abc">
<input type="text" name="n2" value="cde">
<input type="text" name="n3" value="bla">
<input type="text" name="n4" value="xyz">
<button onclick="getData(); return false;">Get Data</button>
</form>
<script>
function serializeForm(form) {
var elements = Array.prototype.slice.call(form.elements);
var data = {};
elements.forEach(function(element){
if (element.tagName.toLowerCase() == 'input' && element.name)
data[element.name] = element.value;
});
return data;
}
function getData() {
var data = serializeForm(document.forms.form);
alert(Object.keys(data).map(function(key){return key + ':' + data[key]}));
return false;
}
</script>
Не будет работать в старых браузерах. Хотя это легко исправить.