query-string - 在查询字符串中将隐藏字段从一个页面传递到另一页面

标签 query-string hidden-field

我想通过查询字符串将隐藏字段中的查询从一页传递到另一页。 谁能帮我理清逻辑吗?

最佳答案

值得花时间学习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/

相关文章:

asp.net - 获取隐藏字段的值

JavaScript 问题 : How do I duplicate user input into a hidden field?

ruby-on-rails - 从枚举模型中设置 Rails 表单隐藏字段

javascript - 当隐藏输入类型时,更改事件不起作用

javascript - 如何在两个 HTML 页面之间交换变量?

javascript - 追加和替换 data-* 属性 URL 的查询字符串值

java - 如何将 String 值发送回 Spring MVC?

php - 不带 GET 参数的请求字符串

Java Play 查询参数分隔符

c# - HttpUtility.ParseQueryString() 总是将特殊字符编码为 un​​icode