将HTML表单输入发送到Javascript函数以进行本地存储
试图将表单数据捕获到javascript中。我不知道这为什么不起作用将HTML表单输入发送到Javascript函数以进行本地存储,javascript,html,Javascript,Html,试图将表单数据捕获到javascript中。我不知道这为什么不起作用 <!DOCTYPE html> <html> <body> <form action="site2.html" onsubmit="store()"> Enter your name: <input type="text" name="name" /> Enter your age: <input type="text"
<!DOCTYPE html>
<html>
<body>
<form action="site2.html" onsubmit="store()">
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
<input type="submit" />
</form>
<!-- <div id="result"></div> -->
<script>
function store() {
// Check browser support
if (typeof(Storage) !== "undefined") {
var s = document.getElementById("name").value;
localStorage.setItem("lastname", s);
}
}
</script>
</body>
</html>
输入您的姓名:
输入您的年龄:
函数存储(){
//检查浏览器支持
if(类型(存储)!=“未定义”){
var s=document.getElementById(“名称”).value;
setItem(“lastname”,s);
}
}
它在这个代码段中不起作用,因为在沙盒区域中阻止了本地存储。这里的代码仅供参考。你可以看到它在工作。如果您提交表单并刷新/重新运行页面,您将看到它甚至还设置了本地存储的输入值。此外,这将适用于表单中存在的任何字段。添加更多的输入以查看它是否正常工作。(确保给他们一个名称
)
使用JSFIDLE(假设您的浏览器支持本地存储):
SO代码片段(此处供参考):
var form=document.getElementById(“myform”);
表格.附录列表(“提交”,存储,虚假);
功能存储(e){
e、 preventDefault();//防止提交
var输入=form.elements;
for(设i=0;i
输入您的姓名:
输入您的年龄:
最喜欢的东西:比塞姆
对于一个,没有以名称作为id的元素。对于两个,您应该检查本地存储的类型,而不是存储的。我想“name”应该是id的位置?如果没有,应该怎么做?哦,对了,我知道了。我需要一个id=“name”。感谢Budsb但是一句忠告,永远不要给任何东西命名name
,因为name
是一个全局属性,您可以用自己的变量覆盖它。