javascript - serializeArray 没有选择动态创建的表单
问题描述
我已经审查了许多关于这个主题的堆栈溢出线程,尤其是这个 jQuery serializeArray 没有选择动态创建的表单元素,但没有一个能够解决问题
我正在通过 firebase 数据库搜索匹配项。如果匹配,则显示表单 A,但如果没有匹配,则显示表单 B。
return CatalogueDB.ref('/FSC/Misc/' + splitinput[index]).once('value').then(function(snapshot) {
console.log(snapshot.val())
var key = snapshot.val().NSN
var Name = snapshot.val().Nomenclature
var resultcard = `
<form id="myform">
<tr class="tr-shadow">
<td style="width: 90px;">
<div>${key}
</div>
<div>
<br>
<button type="button" class="btn btn-secondary mb-1 btn-sm" data-toggle="modal" data-target="#mediumModal">
Add Photos
</button>
</div>
</td><td>
<span class="block ">
${Name}
</span>
</td>
<td class="desc">
<input class="au-input au-input--sm" type="text" name="search" placeholder="i.e. 20 EA" style="width: 100px;" />
</td>
<td>
<span class="status--process">
<input class="au-input au-input--sm" type="text" name="search" placeholder="Search for datas & reports..." style="width: 90px;" />
</span>
</td>
<td>
<button type="button" class="btn btn-primary btn-md" onclick="postitem(this);">Submit</button>
</td>
</tr>
</form>
<tr class="spacer"></tr>
`
container.innerHTML += resultcard;
})
.catch(function(error) {
container.innerHTML += "";
var errorcard = `
<form id="myform">
<tr class="tr-shadow">
<td style="width: 90px;">
<div>${splitinput[index]}
</div>
</td>
<td>
<span class="status--process">
<input class="au-input au-input--sm" type="text" name="search" placeholder="Search for datas & reports..." style="width: 90px;" />
</span>
</td>
<td>
<span class="status--process">
<input class="au-input au-input--sm" type="text" name="search" placeholder="Search for datas & reports..." style="width: 90px;" />
</span>
</td>
<td class="desc">
<input class="au-input au-input--sm" type="text" name="search" placeholder="Search for datas & reports..." style="width: 90px;" />
</td>
<td>
<button type="button" class="btn btn-primary btn-md" onclick="postitem(this)">Submit</button>
</td>
</tr>
</form>
`
container.innerHTML += errorcard;
})
});
我想在单击提交按钮时从表单中获取输入值,因此这个函数
function postitem() {
var data = $('#myform').serializeArray();
console.log(data)
}
不检索和显示输入值。如何捕获提交按钮的点击输入值
解决方案
我想知道这些事情之一是否可能导致问题?我可能是错的,但可能值得检查:
1.这不是正确的语法吗?
document.getElementById('container').innerHTML += resultcard;
......而不是这个?
container.innerHTML += resultcard;
2.当在JavaScript文件中包含html时,你的html周围的引号应该这样实现吗?(另请注意使用“标准引号”标记而不是使用“反引号”标记。)
var resultcard =
'<form id="myform">' +
'<tr class="tr-shadow">' +
'<td style="width: 90px;">' +
.
.
.
推荐阅读
- coinbase-api - 如果客户使用 2 因素身份验证,结帐按钮回调不起作用
- javascript - Accessbility bar - 如何允许用户使用 JavaScript、CSS、Flask、Jinja 将样式应用到整个网站
- sql - 在sql server中使用值时如何在sql select中设置标志是或否
- c++ - Eigen unaryExpr 在 MSVC 中失败,但在 GCC 中有效
- autodesk-forge - 将用户定义的字体和图像发送到设计自动化
- azure - Azure 存储帐户 - 准备故障转移失败并显示“上次同步时间不可用”
- java - 通过关键事件搜索 jList
- php - Laravel 5.8 SQLSTATE [23000]:完整性约束违规:1048
- python - 将每一天绘制为每小时的时间序列
- sql - SQLite 按选定日期范围内的所有日期分组,即使数据不存在