Стоит потратить время на изучение jQuery . Это не очень сложно, и это делает написание JavaScript гораздо проще. Есть также много плагинов jQuery, таких как jquery.url .
Также, как предлагали другие авторы, вы, возможно, не захотите помещать значение скрытого поля в строку запроса, если вам важно, чтобы оно отображалось пользователю. Однако, если данные присутствуют в скрытом поле, пользователь всегда сможет их найти, если хочет посмотреть.
Если вы действительно хотите поместить скрытое поле в строку запроса, а затем извлечь его с помощью javascript, не являющегося jQuery:
hiddenFieldPage.aspx
Эта форма приведет пользователя к processingPage.aspx? Datum = someValue, когда она будет отправлена. Вы также можете просто использовать обычную ссылку, если больше ничего не нужно отправлять одновременно.
<form method="GET" action="processingPage.aspx">
<input type="hidden" name="datum" value="someValue">
<input type="submit">
</form>
или, вставив значение из кода:
RegisterHiddenField("datum", "someValue");
processingPage.aspx
Этот скрипт вызовет окно предупреждения со значением «datum» из URL - при условии, что для метода формы установлено значение «GET»:
<script type="text/javascript">
function getUrlParam( key ) {
// Get the query and split it into its constituent params
var query = window.location.search.substring(1);
var params = query.split('&');
// Loop through the params till we find the one we want
for( var i in params ) {
var keyValue = params[i].split('=');
if( key == keyValue[0] ) {
return keyValue[1];
}
}
// Didn't find it, so return null
return null;
}
alert( getUrlParam("datum") );
</script>
Если для метода формы установлено значение «POST» (как обычно это делается в ASP.NET), то «datum» не будет в строке запроса, и вам придется снова разместить его на странице:
RegisterHiddenField( "datum", Request.Form["datum"] );
Чтобы получить скрытое значение на второй странице:
var datum = document.Form1.item("datum").value;
alert( datum );