有什么方法可以临时保存HTML表单中的填充数据吗?我的意思是,如果我有这样的表格:
Name [ John ]
Email [ ]
Address [ ]
关闭窗口并再次输入www.domain.com/form.php后,John
值是否仍在Name
文本框中输入?
我应该使用SESSIONS
吗?还是应该自动将每个输入的字段插入数据库?你有什么想法吗?
更新
我尝试过使用Chrome/Microsoft Edge进行以下操作,但没有成功,刷新浏览器后填充了未保存的字段。也许出了什么问题?
<script>
// Check browser support
if (typeof(Storage) !== "undefined") {
// Store
localStorage.setItem("FirstName", "Hitesh");
// Retrieve
document.getElementById("FirstName").value = localStorage.getItem("FirstName");
} else {
document.getElementById("FirstName").value = "Sorry, your browser does not support Web Storage...";
}
</script>
<input id="FirstName" type="text" name="FirstName" class="field-style" placeholder="First Name" required />
这里有一个带有自动填充的表单示例,您可以使用本地存储
<input id="FirstName" type="text" name="FirstName" class="field-style" placeholder="First Name" required onchange="save()"/>
<script>
// Check browser support
if (typeof(Storage) !== "undefined") {
if(localStorage.getItem("FirstName")!=""){
}else{
// Store
localStorage.setItem("FirstName", "Hitesh");
}
// Retrieve
document.getElementById("FirstName").value = localStorage.getItem("FirstName");
} else {
document.getElementById("FirstName").value = "Sorry, your browser does not support Web Storage...";
}
function save(){
var name = document.getElementById('FirstName').value;
localStorage.setItem("FirstName", name);
}
</script>
我们最好使用cookie在本地存储中存储表单字段数据,因为它可以很容易地通过JavaScript处理(考虑存储非常私人的数据不是一个好主意,即使cookie很快过期也会退出)。
为了在填充字段后立即设置cookie,您可以使用字段的onFocusOut事件侦听器。当用户将注意力集中在每个字段之外时,在cookie上设置输入字段的值。