Если у вас уже есть значение, вы можете сделать это с помощью jQuery:
$('#your-input-field').val(the_value);
<input type="hidden" id="your-input-field" />
без jQuery вы бы сделали так:
e = document.getElementById('your-input-field');
e.value = the_value;
Вот пример использования вашего кода, я рекомендую вам взглянуть на jQuery - его гораздо проще использовать, чем обычный javascript, и ваш код будет работать во всех браузерах:
<script type="text/javascript">
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
}
function onLoad() {
var value = getQueryVariable("ID");
var e = document.getElementById('your-field');
e.value = value;
}
</script>
<body onload="onLoad()">
<!-- your form and hidden field goes here -->
<input type="hidden" name="your-field" id="your-field" />