我想通过查询字符串将隐藏字段中的查询从一页传递到另一页。 谁能帮我理清逻辑吗?
最佳答案
值得花时间学习jQuery 。它并不是很复杂,并且使得编写 javascript 变得更加容易。还有很多jQuery插件,比如jquery.url .
此外,正如其他发帖者所建议的那样,如果您关心将隐藏字段的值显示给用户,您可能不希望将其放入查询字符串中。但是,如果数据存在于隐藏字段中,如果用户愿意查看,则始终可以找到它。
如果您确实想将隐藏字段放入查询字符串中,然后通过非 jQuery javascript 提取它:
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
此脚本将弹出一个警告框,其中包含 URL 中的“datum”值 - 假设表单的方法设置为“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 );
关于query-string - 在查询字符串中将隐藏字段从一个页面传递到另一页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1455575/