我有一个包含20多个字段的表单(text,select,textarea和radio)。如何让浏览器使用javascript记住提交的值?我知道我可以使用$_SESSION
在php中完成。但我需要用javascript或客户端语言来做。因此,如果用户输入错误信息并再次返回到表单,则无需再次重新输入值。谁能建议如何做到这一点?
答案 0 :(得分:2)
你可以使用cookies! https://developer.mozilla.org/en-US/docs/DOM/document.cookie
Ñamñam:)
答案 1 :(得分:0)
我会看一下使用HTML5本地存储http://diveintohtml5.info/storage.html。你无法用javascript实现你所要求的,因为当你在提交表单后访问新页面时,所有本地javascript数据都消失了。您必须以某种方式存储它,使用PHP,本地存储或Cookie。
答案 2 :(得分:0)
根据您需要支持的浏览器,有两个新对象用于在HTML5中本地存储数据。
https://developer.mozilla.org/en-US/docs/DOM/Storage
看起来支持可以追溯到IE8。
我创建了这个简单的测试。似乎工作正常。
<!doctype html>
<html>
<head>
<script>
function dotest(){
var input = document.getElementById('test');
if( localStorage.test ){
input.value = localStorage.test;
}
input.addEventListener('blur', function(){
localStorage.test = input.value;
}, false);
}
</script>
</head>
<body onload="dotest()">
<input type="text" id="test">
</body>
答案 3 :(得分:0)
可以将其存储在app.locals或res.locals中。如果你需要在更长的时间内保持数据mongoDB
这里是一个如何使用本地的示例,以便我可以存储一个值,而我从另一个视图中抓取另一个,然后将它们都扔到数据库中。
//route to receive the driver name
app.post('/newdriver', function(req, res){
app.locals.myVar1 = req.body.newDriver;
console.log(app.locals.myVar1);
res.redirect('/newdriverlist')
});