Skip to content

Instantly share code, notes, and snippets.

@davidmerrick
Created August 18, 2015 23:02
Show Gist options
  • Save davidmerrick/b9a8e5596db8cc98436d to your computer and use it in GitHub Desktop.
Save davidmerrick/b9a8e5596db8cc98436d to your computer and use it in GitHub Desktop.
jQuery: simulate form post from page
function post(path, params, method) {
method = method || "post"; // Set method to post by default if not specified.
// The rest of this code assumes you are not using a library.
// It can be made less wordy if you use one.
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
}
// example:
post('/contact/', {name: 'Johnny Bravo'});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment