後,我需要的是這樣的:IE8填滿了錯誤的數據表單域打後退按鈕
- 用戶加載頁面(輸入爲空)
- 用戶提供了一些輸入並提交
- 輸入有它們的新值
- 用戶返回
- 的輸入時,其先前的值
我的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中沒有任何結果。
任何建議將不勝感激!
非常感謝!這就是我一直在尋找的。我使用這個小javascript函數來重置窗體:** function resetForm(id){$('#'+ id).each(function(){this.reset();});} ** –