【问题标题】:Node: Post to a route, according to dropdown selection节点:根据下拉选择发布到路由
【发布时间】:2020-12-15 21:43:21
【问题描述】:

我有一个表格。 在表单内部,用户从下拉列表中选择一个项目。 然后点击提交,选定的项目就会被发布到特定的路由。

这是代码:

<form role="form" action="/converter" method="POST" id="sc-form">
    <label for="model">Choose a model:</label>
    <select name="model" id="model">
            <% data.forEach(function(dat) { %>
            <option value="<%= dat %>"> <%= dat %> </option>
            <% }); %>
    </select>
    <input type="submit" value="Convert file" />
</form>

现在,我要做的是在同一个表单中添加另一个下拉菜单。

为简单起见,假设下拉菜单有两个选项,选项 A 和选项 B。

这个额外的下拉菜单的作用是选择第一个下拉菜单中的项目将被发布到的位置。换句话说,POST 操作将根据从第二个下拉列表中的选择进行更改。

如果选择了选项 A,则第一个下拉列表中的项目将被发布到路由 A。 如果选择了选项 B,则第一个下拉列表中的项目将被发布到路由 B。

【问题讨论】:

    标签: javascript node.js forms express post


    【解决方案1】:

    您可以在路由下拉列表中添加事件监听器:

    <select id="route-select">
        <option value="route a">A</option>
        <option value="route b">B</option>
    </select>
    
    const routeSelect = document.getElementById('route-select');
    const form = document.getElementById('sc-form');
    
    routeSelect.addEventListener('change', (e) => {
        form.action = e.target.value;
    });
    

    【讨论】:

    • 好主意。第二个代码 sn -p 在页面底部的脚本中,对吗?
    • 对,在
    猜你喜欢
    • 2023-04-06
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    相关资源
    最近更新 更多