【发布时间】:2022-12-29 21:29:00
【问题描述】:
我有一个连接到本地存储的空数组。我想在提交表单时将表单字段中的数据推送到数组中。它识别出我在控制台中推送数据,因为它将数组值记录为 [] 然后是“”,一旦我单击提交按钮而不是从表单字段输入的文本
<form id="player-name-form">
<input
class="input"
type="text"
placeholder="player 1"
id="player1"
required
maxlength="50"
>
<button id="confirm-player-1" type="submit" onclick="formBtnClick()" >confirm player 1</button>
</form>
// Setting player names to local storage
let playerNames = [];
let form = document.getElementById('player-name-form');
let formBtn = document.getElementById('confirm-player-1');
this.name = form.player1.value;
localStorage.setItem("playerNames", JSON.stringify(playerNames));
// Adding form input to local storage
function formBtnClick () {
event.preventDefault()
localStorage.setItem("playerNames", JSON.stringify(this.name));
}
我希望表单生成的“this.name”值登录到本地存储的数组
先感谢您!
【问题讨论】:
-
在表单上使用
onsubmit而不是在按钮上使用onclick -
您永远不会将任何项目推送到数组
-
this.name在输入字段内有任何值之前在开头设置一次,然后将该空值推送到本地存储
标签: javascript html arrays forms