我试图在没有动作的情况下做html表单。它必须:
1)记住输入数据为正常形式。
2)没有重新加载页面
我试过了:
<form action="javascript:void(0);" id="simple-form">
但是
$('#simple-form').submit();
表单没有记住输入数据。 正常形式
<form action="#" id="simple-form">
重新加载页面,但也记住输入数据。
是否存在使用javascript记住没有表单的数据的另一种方式?
更新#1:
event.preventDefault(); // onsubmit event prevert
不能正常工作,因为它不仅可以防止重新加载页面,还可以防止数据保存(自动完成)。
答案 0 :(得分:1)
使用javascript
var form = document.getElementById("simple-form")
form.onsubmit = function (event) { event.preventDefault() }
if(localStorage){
var textfield = document.getElementById("yourTextfield");
var data = localStorage.getItem("yourTextfield");
if(data){
textfield.value = JSON.parse(data);
}
textfield.onkeydown = function(){
localStorage.setItem("yourTextfield",JSON.stringify(textfield.value));
}
}
带有历史记录对象的替代解决方案
var data = history.state.textfieldName;
if(data){
textfield.value = data;
}
textfield.onkeydown = function(){
history.state.textfieldName = textfield.value;
}