【问题标题】:Dynamic Button in ejs to fill a form-fieldejs中的动态按钮填充表单域
【发布时间】:2019-02-22 23:48:36
【问题描述】:

我目前正在使用带有 ejs 模板和 mySQL 数据库的 NodeJS。 我创建了一个可以动态打印代表数据库中表的表的 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 条目应填写到我的表单字段中。所以每一行都会有一个按钮!

我找不到实现此目的的方法。

【问题讨论】:

    标签: javascript jquery html node.js ejs


    【解决方案1】:

    这应该有效:

    <% 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>
    <% } %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-11
      • 2020-10-27
      • 1970-01-01
      • 2012-02-16
      • 2016-07-05
      • 1970-01-01
      相关资源
      最近更新 更多