javascript - 动态表单输入值不更新 Javascript 对象
问题描述
新编码器在这里。我花了一周的时间试图让这个工作,真的需要帮助。我有一个带有一个输入字段的表单。我可以查询它并获取新的名称值。
问题是当我在对象文字键/值对中使用相同的查询时,当您更改值时它不会显示更新的值。它仅在我 console.log 时显示原始值。任何帮助将不胜感激。
HTML
<form id="nameForm" class="nameForm" action="#">
<label id="nameLabel" for="nameInput">Enter Your Name:</label>
<input type="text" id="nameInput" class="nameInput" required>
<button id="next" type="button">Next</button>
</form>
JavaScript
let salonOwner = {
name: document.querySelector(#nameInput).value
}
解决方案
所以基本上javascript文件只运行一次,所以你需要在提交表单时添加EventListener来监听并通过它更新salonOwner
<form id="nameForm" class="nameForm" action="#">
<label id="nameLabel" for="nameInput">Enter Your Name:</label>
<input type="text" id="nameInput" class="nameInput" required>
<button id="next" type="submit">Next</button>
</form>
let salonOwner = {
name: ""
}
//Initilize Dom Element
let form = document.querySelector("#nameForm")
//Add EventListener to Update The salonOwner Object
form.addEventListener("submit" , (e)=>{
let name = document.querySelector("#nameInput").value;
salonOwner.name = name;
})
推荐阅读
- c - 混合 .wav 文件
- r - 使用 if 语句过滤最小/最大值 R
- mongodb - 使用 MongoDB 更新数组并在同一数组数组中推送对象
- r - nls() 错误 - 收敛失败:奇异收敛 (7)
- r - 如何在 R 数据框中生成一个新列,其中包含来自多列的有序项
- tensorflow - 试图将 lasagne.layers.SliceLayer(input_from_previous_layer, -1, 1) fom theano 转换为 keras
- authentication - OpenShift 中的身份验证日志在哪里?
- selenium - 即使页面加载完毕,Selenium 也无法点击 Element
- google-oauth - 如果我在 iframe 外部单击,一键登录隐藏
- vba - 在不同的 IDE 中处理 Word 宏