Si los quieres pasar directamente al enviar el formulario y sin hacer más, te va a tocar agregarlos como inicialmente los tenías, pero también puedes capturar esos valores y con un poco de JavaScript los envías.
Código Javascript
:
Ver originalvar form = document.getElementsByTagName("form")[0], //El formulario
select = form.getElementsByTagName("select")[0]; //El combo
form.addEventListener("submit", function(event){ //Cuando intente enviar los datos
event.preventDefault(); //Cancelo el envío
var nombre = select.options[this.selectedIndex].innerHTML,
id = select.value,
comentario = select.options[this.selectedIndex].getAttribute("data-comentario"),
url = document.URL; //La dirección actual,
base_url = url.substring(0, url.indexOf("?")); //La URL sin la query string
window.location = base_url + "?nombre=" + nombre + "&id=" + id + "&comentario=" + comentario;
}, false);
Lo que hago es lo siguiente. Primero, tomo al formulario y al combo de opciones, luego, cuando envíe los datos del formulario, cancelo el evento que se produce (
submit
), tomo los valores de la opción seleccionada y la URL actual, pero como envías los datos hacia la misma página, solamente tomo la base de la URL, obviando la query string. Finalmente, hago una redirección hacia la misma página pero enviando los valores capturados.
Saludos