javascript - 无法使用 javaScript 从动态创建的 html 表单中获取表单值
问题描述
我使用 javaScript 创建了一个 html 表单,我使用 innerHTML 将它放入 DOM,但是当表单提交时没有任何反应。我在输入字段上放置按钮和按键事件的 addevent 侦听器也不会被触发。
这是我动态生成的表格
function playerFinderhtmlCreater (){
return `<section class="moviesForm mt-4 mb-2">
<div class="container">
<div class="text-center">
<h2>Search for your favourite Cricket Star </h2>
<p class="lead text-muted">Find Info about you top Favourite Cricket Star </p>
</div>
<div class="row justify-content-center align-items-center">
<div class="col-md-8">
<div class="input-group mb-0">
<span class="input-group-text" id="basic-addon2"
><i class="bi bi-film text-danger"></i
></span>
<input
type="text"
class="form-control form-control-lg"
placeholder="Movie Title"
aria-label="Recipient's username"
aria-describedby="basic-addon2"
/>
<button class="btn btn-dark">Search</button>
</div>
</div>
</div>
</div>
</section>
<section class="main">
<div class="container">
<div class="row justify-content-center align-items-center">
<div class="col-10 col-md-4 special"></div>
</div>
</div>
</section>
`
}
下面的代码显示了我如何从表单中获取值并将其传递给另一个函数
let getForm = document.querySelector('.form-control');
let getDark = document.querySelector('.btn-dark');
let getCard = document.querySelector('.special');
if (getForm) {
alert("Asdasd")
getForm.addEventListener('keypress', (e) => {
if (e.keyCode == 13) {
finalPlayerFinder(getForm.value);
getForm.value=""
}
});
}
if (getDark) {
getDark.addEventListener('click', () => {
finalPlayerFinder(getForm.value);
getForm.value=""
});
}
在这里我得到表单值并控制台记录它。
let finalPlayerFinder = (playerName)=>{
console.log(playerName)
}
解决方案
推荐阅读
- python - Python 如何将 collections.OrderedDict 转换为 dataFrame
- bash - 是否可以使用 bash sript 将数字的二进制表示形式写入文件?
- javascript - 如何在 Javascript 中从 JSON 中检索叶子子节点?
- shell - shell脚本中的多个条件不起作用
- django - 使用 python 3.7 版在生产环境中启动 django
- r - 通过 for-if 循环评估多个条件来生成虚拟变量
- javascript - 根据可用空间在 div 旁边排列文本
- python - 在python中逐行存储来自url的数据
- node.js - 无法在 WebStorm 中调试 Express REST API
- java - 为什么 `HttpClient.newHttpClient()` 不起作用?