Skip to content

Instantly share code, notes, and snippets.

@marcorivm
Created November 10, 2021 14:44
Show Gist options
  • Select an option

  • Save marcorivm/09270a5c16122ded1a42b2102546b0f6 to your computer and use it in GitHub Desktop.

Select an option

Save marcorivm/09270a5c16122ded1a42b2102546b0f6 to your computer and use it in GitHub Desktop.
Copy query parameters into a form
// Parse an url and get query parameters
const getParams = function (url) {
const params = {}
const parser = document.createElement('a')
parser.href = url
const query = parser.search.substring(1)
const vars = query.split('&')
for (let i = 0; i < vars.length; i++) {
let pair = vars[i].split('=')
params[pair[0]] = decodeURIComponent(pair[1])
}
return params
}
//Receives a key, value pair and adds it to form as a hidden input
const addHiddenField = function (key, value, form) {
const element = document.createElement('input')
element.setAttribute('type', 'hidden')
element.setAttribute('name', key)
element.setAttribute('value', value)
form.appendChild(element)
return element
}
const queryString = getParams(window.location.href)
const form = document.getElementById('myForm')
for (const key in queryString) {
if (queryString.hasOwnProperty(key) && queryString[key]) {
addHiddenField(key, queryString[key], form)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment