javascript - 将 HTML 表单输入发送到 Javascript 函数以进行本地存储

标签 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" 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>

最佳答案

它在此代码段中不起作用,因为 localStorage 在沙盒区域中被阻止。代码仅供引用。您可以在 this jsFiddle 中看到它正在运行。 。如果您提交表单并刷新/重新运行页面,您会发现它甚至还设置了 localStorage 中的输入值。此外,这适用于表单中存在的任何字段。添加更多输入以查看其工作情况。 (确保您给他们起了一个名字)

工作 jsFiddle(假设您的浏览器支持 localStorage):

https://jsfiddle.net/jcgodLt6/1/

SO 片段(此处供引用):

var form = document.getElementById("myform");
form.addEventListener("submit", store, false);

function store(e){
e.preventDefault();//prevent submission
  var inputs = form.elements;
  for (let i = 0; i < inputs.length; i++) {
    localStorage.setItem(inputs[i].name, inputs[i].value);
    console.log(inputs[i].name, inputs[i].value);
  }
}

function retrieve(){
  var inputs = form.elements;
  for (let i = 0; i < inputs.length; i++) {
    inputs[i].value = localStorage.getItem(inputs[i].name);
    console.log(inputs[i].value);
  }
}

retrieve();
  <form action="site2.html" onsubmit="store()">
        Enter your name: <input type="text" name="name" />
        Enter your age: <input type="text" name="age" />
        Fave thing: <select name="fave"><option>Bees</option><option>Jam</option></select>
        <input type="submit" value="submit" />
        </form>

关于javascript - 将 HTML 表单输入发送到 Javascript 函数以进行本地存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58582556/

相关文章:

javascript - 动态创建文件输入元素

javascript - 为什么这个 JavaScript 不工作?

javascript - 如何在实时编辑器中使用名称跟踪用户光标?

html - 当存在 float 时,如何使 H4 元素表现得像 HR

javascript - JQuery Accordion 菜单颜色在选择时保持变化

javascript - SublimeText 2 中的 SublimeLinter 错误

html - 将字体嵌入到页面上,但我没有得到结果

HTML/CSS - 创建论坛 - 任何动态缩进 tr 的方法?

javascript - 用于 DOM 修改的高效 Javascript

javascript - 根据标签类型获取页面中元素的索引