Спасибо, Рой, я подумал о том, что ты сказал, и придумал следующее:
function insert(){
document.getElementById('text').value = document.getElementById('select').value;
}
function insertHTML(){
document.getElementById('div').innerHTML = "<select id='select' onload=\"insert()\" onclick=\"insert()\"><option value='1'> 1 </option><option value='2'> 2 </option></select>";
}
<form method='post' action='http://localhost/test.php'>
<input type='button' value='insert' onclick="insertHTML(); insert();" >
<div id='div' ></div>
<input type='hidden' id='text' name='text'>
<input type='submit' value='go'>
</form>
Получить имя ввода вместо имени выбора.