gpt4 book ai didi

javascript - 在 Chrome 中重新加载页面时如何防止重置表单输入?

转载 作者:太空宇宙 更新时间:2023-11-04 08:05:13 25 4
gpt4 key购买 nike

我正在构建一个 Web 应用程序,它可能会(偶尔)重新加载页面,以便使用表达式语言更新页面上显示的一些信息。在 Firefox 中,一切正常,但在 Chrome 中,每次重新加载页面时,输入字段中的所有内容都会丢失,并且表单会重置为空白。这对用户来说太烦人了,他们不得不再次输入所有丢失的内容。有什么方法可以在 Chrome 中使用纯 HTML 复制与 Firefox 相同的行为,或者是否有必要使用一些 Javascript?提前致谢。

最佳答案

假设这是您的代码:

<form id="formId" action="" method="post">
<input type="hidden" id="hiddenAction" name="hiddenAction" value="" />
<input type="text" id="firstName" name="firstName" value="" />
</form>

如果您使用的是表单,只需使用 JavaScript 提交表单即可而不是刷新页面。

如果你看到我添加了一个 hidden input在表格的开头。用于跟踪提交 Action

$("#formId #hiddenAction").val("refreshed") ;
$("#formId").submit() ;

然后在你的 php在页面的开头放置以下内容:

<?php
$firstName = "" ;
if (isset($_POST["hiddenAction"]) && $_POST["hiddenAction"] == "refreshed") { //When the hidden action is set to "refreshed" then we know that this is coming from refreshing the page
$firstName = isset($_POST["firstName"]) ? $_POST["firstName"] : "" ; //Of course you have to escape the string and strip it from any pure html tags
}
?>

在你的<html>代码,分别更改所有输入标签及其相关值以匹配以下内容:

<input type="text" id="firstName" name="firstName" value="<?php echo $firstName ?>" />

关于javascript - 在 Chrome 中重新加载页面时如何防止重置表单输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46702458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com