Skip to content

Instantly share code, notes, and snippets.

@farindra
Last active January 7, 2020 15:21
Show Gist options
  • Save farindra/3b75c7098a87290b13c6060df681735e to your computer and use it in GitHub Desktop.
Save farindra/3b75c7098a87290b13c6060df681735e to your computer and use it in GitHub Desktop.
Get Form Data Javascript
function setOrPush(target, val) {
var result = val;
if (target) {
result = [target];
result.push(val);
}
return result;
}
function getFormResults(formElement) {
var formElements = formElement.elements;
var formParams = {};
var i = 0;
var elem = null;
for (i = 0; i < formElements.length; i += 1) {
elem = formElements[i];
switch (elem.type) {
case 'submit':
break;
case 'radio':
if (elem.checked) {
formParams[elem.name] = elem.value;
}
break;
case 'checkbox':
if (elem.checked) {
formParams[elem.name] = setOrPush(formParams[elem.name], elem.value);
}
break;
default:
formParams[elem.name] = setOrPush(formParams[elem.name], elem.value);
}
}
return formParams;
}
var payload = getFormResults(document.getElementById('profile'));
console.log(payload);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment