我正在创建一个简单的表单,允许用户提交页面上显示的输入。每个输入都是在另一个之后添加的,因此如果用户输入“1”并单击“提交”,则页面上将显示“1”。如果用户然后输入“2”,那么“2”将显示在“1”的正下方。 “1”未被删除。
我将用户输入保存到数组中,我将迭代该数组以在页面上呈现用户输入。我遇到的问题是我的数组中没有任何东西被保存,所以当我尝试将用户输入呈现到页面上时,没有任何渲染。
/* This is pseudocode */
var list = [];
for each value in list
add value to page
addToList = function() {
var value = document.getElementById("userEntry").value;
list.push(value);
}
只要用户单击“提交”,就会调用addToList函数。我正在使用Node.js,我觉得这不起作用,因为每次提交和页面重新加载,清除数组时,JavaScript文件都会刷新。
如果我希望我的数组保存用户输入的值,我该怎么办。
答案 0 :(得分:0)
尝试使用JQuery,然后使用" $('#userEntry')。val()" 和一个按钮(/元素)
$('#button').click(() => {
list.push($('#userEntry').val());
})"
答案 1 :(得分:0)
要保留数据,您可以将数据保存在localStorage中。
以下是你可以做到的。
/* This is pseudocode */
var list = [];
for each value in list
add value to page
addToList = function() {
var value = document.getElementById("userEntry").value;
list.push(value);
}
onSubmit = function() {
//localStorage.setItem('key', 'value');
localStorage.setItem('myList', JSON.stringify(list));
}
getList = function() {
//localStorage.getItem('key');
list = JSON.parse(localStorage.getItem('myList'));
}
答案 2 :(得分:0)
@Lepanto是对的。
<input type="submit">
将刷新页面,您将失去您的状态。试试这个:
<button onclick="addToList" >submit</button>
答案 3 :(得分:0)
您已使用名称addToList初始化对Function实例的引用,但从未调用此函数。
在addToList函数中添加一个console.log,您将看到永远不会调用此函数。
相反,您需要声明Function,然后通过括号括起来执行它:addToList()