我正在构建一个可能(偶尔)重新加载页面的Web应用程序,以便使用表达式语言更新页面上显示的一些信息。在Firefox中,一切正常,但在Chrome中,每次重新加载页面时,输入字段中的所有内容都将丢失,表单将重置为空白。这对于用户来说太烦人了,用户必须再次输入丢失的所有内容。有没有办法在Chrome中复制与使用纯HTML的Firefox相同的行为,还是有必要使用一些Javascript?提前谢谢。
答案 0 :(得分:1)
让我们说这是你的代码:
<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
。用于跟踪提交操作
$("#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 ?>" />
答案 1 :(得分:0)
你必须使用一些小的Javascript ..
就像在Cookie /本地存储/等等中保存数据一样......