我需要的是这个:
- 用户加载页面(输入为空)
- 用户提供一些输入并提交
- 输入有它们的新值
- 用户导航回来
- 输入有它们以前的值
我的 php 文件如下所示:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form id="formTest" name="formTest" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" autocomplete="off">
<select id="selectTest" name="selectTest">
<option value=0 <?php if(isset($_POST['selectTest']) && $_POST['selectTest']==0){echo 'selected=\'selected\'';} ?>>Select an option...</option>
<option value=1 <?php if(isset($_POST['selectTest']) && $_POST['selectTest']==1){echo 'selected=\'selected\'';} ?>>Option 1</option>
<option value=2 <?php if(isset($_POST['selectTest']) && $_POST['selectTest']==2){echo 'selected=\'selected\'';} ?>>Option 2</option>
</select>
<br/>
<input id="inputTest" name="inputTest" type="text" value="<?php if(isset($_POST['inputTest'])){echo htmlentities($_POST['inputTest']);} ?>" />
<br/>
<input type="submit" value="OK" />
</form>
<?php
print_r($_POST);
?>
</body>
</html>
如您所见,表单在提交后“记住”其数据。当用户点击浏览器的后退按钮时,就会出现问题。尽管 POST 数组具有前一个状态的值,但浏览器会用下一个状态的数据(提交后的数据)填充字段。
虽然我可以通过关闭表单的自动完成属性在 Chrome 和 Firefox 中解决这个问题,但这在 IE8 中没有结果。
我们欢迎所有的建议!