javascript - 单击按钮后尝试擦除输入并理解为什么在控制台中数组未更新
问题描述
我制作了一个表单,当使用有效数据提交时,它会转到我创建的用于保存 userData 的空数组。第一个问题 - 提交有效数据时,我想再次删除输入以添加新数据。
第二个问题 - 当我去控制台查看它是否工作时,如果我检查里面的内容,阵列会停止放置新数据。这正常吗?我想总是用更多的对象升级阵列。
谢谢先进
<form action="#" method="POST" id="add-form">
<label for="txtUser">User Name</label>
<input type="text" id="txtUser" name="firstName" placeholder="name">
<label for="txtPass">Password</label>
<input type="password" id="txtPass" name="yourPassword" placeholder="password">
<button id="submit">Enter</button>
</form>
<script>
(function(){
'use strict'
const form =document.querySelector('#add-form')
const user = document.querySelector('#txtUser')
const pass = document.querySelector('#txtPass')
const submit = document.querySelector('#submit')
const saveData = []
form.addEventListener('submit',function(e){
e.preventDefault()
if(e.target.elements.firstName.value === '' ||
e.target.elements.yourPassword.value === ''){
alert('enter some valid text')
}else{
let nameData = e.target.elements.firstName.value
let passData = e.target.elements.yourPassword.value
saveData.push({
userName: nameData,
userPass: passData
})
//problem: doesn't erase the input after entering the button
nameData = ''
passData = ''
}
})
console.log(saveData)
})()
</script>
我希望在提交正确的有效数据后擦除输入并使用表单上提交的新信息实现对象数组
解决方案
您将控件的值设置为变量,然后将变量置空 - 您没有将控件的值置空。
而不是空白变量...
nameData = ''
passData = ''
空白控件...
e.target.elements.firstName.value = '';
e.target.elements.yourPassword.value = '';
另一种方法是存储控件并直接使用它......
let nameCtrl = e.target.elements.firstName;
let passCtrl = e.target.elements.yourPassword;
saveData.push({
userName: nameCtrl.value,
userPass: passCtrl.value
})
nameCtrl.value = ''
passCtrl.value = ''
推荐阅读
- flutter - 如何捕捉任何 Flutter 异常
- c# - 有什么方法可以重定向 URL 并返回状态码 200
- flutter - 如何在 Flutter 中删除 textField 和错误消息之间的多余空格
- deployment - 什么可能导致在 BSC 主网上启动错误,在测试网上成功?
- android - 如何在应用程序中设置 android fcm 默认频道?
- javascript - 如何治疗
作为一个简单的文本,而不是一个 html 标签 - wcf - Remoting 和 WCF/coreWCF 的历史
- java - 如何启用透明 AnchorPane 的拖动?
- tableau-api - Tableau:具有不同字段的表之间的关系
- python - 将 python 字典插入 postgres jsonb 字段