javascript - ejs中的动态按钮填充表单域
问题描述
我目前正在使用带有 ejs 模板的 NodeJS 和一个 mySQL 数据库。我创建了一个可以动态打印代表数据库中表的表的 ejs:
代码如下所示:
<% for(var i=0; i<info.length; i++) {%>
<tr>
<td><b><%= info[i].id %></b></td>
<td><%= sinfo[i].path %></td>
</tr>
<% } %>
这工作很好。
在同一个 ejs 的某个地方,您可以找到带有输入字段的表单。
看起来像这样:
<input type="text" name="id" placeholder="id input"required>
现在我想在表格的每一行中创建一个按钮。按下按钮时,按钮所在列的 id 条目应填写到我的表单字段中。所以每一行都会有一个按钮!
我找不到实现这一目标的方法。
解决方案
这应该有效:
<% for(var i=0; i<info.length; i++) {%>
<tr>
<td><b><%= info[i].id %></b></td>
<td><%= info[i].path %></td>
<td><input type="button" onclick="document.getElementById('myText').value='<%= info[i].id %>'" value="Click" /></td>
</tr>
<% } %>
比将 id 设置myText
为您的输入文本:
<input type="text" name="id" id="myText" placeholder="id input">
更简洁的解决方案是在您的 javascript 代码中的某处创建一个函数:
function onClick(id){
document.getElementById('myText').value=id;
}
所以你的 ejs 代码将是:
<% for(var i=0; i<info.length; i++) {%>
<tr>
<td><b><%= info[i].id %></b></td>
<td><%= info[i].path %></td>
<td><input type="button" onclick="onClick('<%= info[i].id %>')" value="Click" /></td>
</tr>
<% } %>
推荐阅读
- google-data-studio - 谷歌数据工作室
- javascript - 如何将数据从 Node.JS Web 应用程序传输到另一个网站/服务器上的 JavaScript 客户端?
- html - 具有不同纵横比内容的响应式 iframe - 让解决方案寻找更好的解决方案
- java - 如何在启用 SSL 的域中使用 spring rest 模板
- python-3.x - 我需要帮助从网页上抓取以下信息
- python - 从数据框中绘制条形图时出现 Matplotlib 类型错误
- excel - 在 Excel 电源查询中合并多个 txt 文件
- python - 我不能再导入 sklearn 模块了
- javascript - “grunt watch”总是在出现致命错误后停止观看 - 如何让它在几秒钟后自动重试?
- c# - 如何使用 SSIS 组件 (C#) 和 Google.Apis.AnalyticsReporting.v4 ETL 谷歌分析数据