// Convert each line of the textarea to a unique input element, so they're all passed with separate GET parameters function updateForm() { // Delete old input elements in case the page hasn't been reloaded since last call for (const oldInput of document.querySelectorAll('input[type="hidden"]')) { oldInput.remove(); } form = document.getElementById("install-form"); instances = document.getElementById("instance-input").value.split("\n"); for (const instance of instances) { // skip empty lines if (!instance.trim()) { continue; } let input = document.createElement("input"); input.type = "hidden"; input.name = "instances[]"; input.value = instance; form.appendChild(input); } } document.addEventListener("DOMContentLoaded", function() { document.getElementById("install-button").addEventListener("click", updateForm); });