没有行动的工作形式

时间:2014-05-27 08:58:46

标签: javascript jquery html forms

我试图在没有动作的情况下做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

不能正常工作,因为它不仅可以防止重新加载页面,还可以防止数据保存(自动完成)。

1 个答案:

答案 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;
}