Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在html中加载页面后,隐藏字段的值丢失_Javascript_Html_Dom - Fatal编程技术网

Javascript 在html中加载页面后,隐藏字段的值丢失

Javascript 在html中加载页面后,隐藏字段的值丢失,javascript,html,dom,Javascript,Html,Dom,我想要一个场景,在该场景中,我将在特定页面中设置隐藏字段的某些值。 然后在服务器上提交该页面(表单提交)。现在,我重定向到另一个页面,在那里我再次尝试检索我之前设置的值。但是我没有得到设置的值,而是得到了我在html页面本身中提供的默认值。(隐藏字段位于标题页中,这对于我的web应用程序中的所有页面都是通用的) 我尝试了一个虚拟应用程序,在该应用程序中,即使在我设置页面后加载/刷新页面,我也会获得隐藏字段的值。当您将用户重定向到另一个页面时,该页面会被重新加载。除非您选择为表单设置一个值(例如通

我想要一个场景,在该场景中,我将在特定页面中设置隐藏字段的某些值。
然后在服务器上提交该页面(表单提交)。现在,我重定向到另一个页面,在那里我再次尝试检索我之前设置的值。但是我没有得到设置的值,而是得到了我在html页面本身中提供的默认值。(隐藏字段位于标题页中,这对于我的web应用程序中的所有页面都是通用的)


我尝试了一个虚拟应用程序,在该应用程序中,即使在我设置页面后加载/刷新页面,我也会获得隐藏字段的值。

当您将用户重定向到另一个页面时,该页面会被重新加载。除非您选择为表单设置一个值(例如通过javascript),否则表单的值是默认值

“以前设置的”值与输入没有明确关联,因为每次重新加载页面时,服务器将再次生成HTML和默认值,浏览器将显示此HTML

这种行为是正常的


此外,如果您希望在提交表单时保留表单的值,您可以使用。

当您将用户重定向到另一个页面时,表单将被重新加载。除非您选择为表单设置一个值(例如通过javascript),否则表单的值是默认值

“以前设置的”值与输入没有明确关联,因为每次重新加载页面时,服务器将再次生成HTML和默认值,浏览器将显示此HTML

这种行为是正常的


此外,如果您希望在提交表单时保留表单的值,您可以使用。

由于HTML是无状态的,因此您不可能通过常规HTML进行操作。您想要的是将您的值放在或中,这样您就可以将其放置在加载的每个页面上。这在默认情况下是无法完成的。

由于HTML是无状态的,因此您不可能通过常规HTML执行此操作。您想要的是将您的值放在或中,这样您就可以将其放置在加载的每个页面上。这在默认情况下是无法做到的。

您错误地理解了HTTP的工作原理-它是无状态的

这意味着您请求的每个页面都与以前的页面完全分离。这就是隐藏文本框被设置回默认值的原因


在将值发送到客户端之前,您必须显式设置服务器端。

您对HTTP的工作原理理解错误-它是无状态的

这意味着您请求的每个页面都与以前的页面完全分离。这就是隐藏文本框被设置回默认值的原因


在将值发送到客户端之前,您必须显式地设置服务器端。

这里的其他答案事实上是正确的(HTML通常不会执行您要求它执行的操作),但您可以做一些事情使其正常工作

首先,事情通常是如何工作的:为了让第二个页面获得隐藏字段的正确值,您需要在服务器端组件中处理它。听起来像是在服务器端处理程序中重定向到新页面。最好的方法是让服务器端处理程序处理该值,并将其作为参数附加到重定向(可能附加到querystring)。然后让一些服务器端代码生成第二个页面,该页面将处理querystring参数

以下是纯HTML/javascript实现的解决方案

如果您不能或不想使用服务器端进程来生成第二个页面,可以使用Javascript将其从查询字符串中拉出(只需搜索“在Javascript中获取查询字符串变量”)


如果您使用javascript,可以通过使用“GET”的
方法将第一个表单设置为表单的
操作
,直接转到第二个页面(尽管可能不可取)。当然,最好包含一个服务器端处理程序。

这里的其他答案事实上是正确的(HTML通常不会做您要求它做的事情),但是您可以做一些事情来让它工作

首先,事情通常是如何工作的:为了让第二个页面获得隐藏字段的正确值,您需要在服务器端组件中处理它。听起来像是在服务器端处理程序中重定向到新页面。最好的方法是让服务器端处理程序处理该值,并将其作为参数附加到重定向(可能附加到querystring)。然后让一些服务器端代码生成第二个页面,该页面将处理querystring参数

以下是纯HTML/javascript实现的解决方案

如果您不能或不想使用服务器端进程来生成第二个页面,可以使用Javascript将其从查询字符串中拉出(只需搜索“在Javascript中获取查询字符串变量”)


如果您使用javascript,可以通过使用“GET”的
方法将第一个表单设置为表单的
操作
,直接转到第二个页面(尽管可能不可取)。当然,最好包含一个服务器端处理程序。

如果不提供更多信息,我们很难知道它为什么不起作用。如何设置隐藏字段的值?你能展示一些代码吗?一些代码示例会很好。您没有提供有关如何在加载之间存储和检索数据的信息吗?你是否将其发布到数据库,存储在cookie中,…@Thor不使用数据库或cookie。实际上,我的目标是在整个应用程序中保留隐藏字段的内容。我不是将其设置为cookie,而是将其设置为隐藏字段。如果不提供更多信息,则很难保存