首页 > 解决方案 > 使用 Node 处理一个表单的多个提交版本

问题描述

首先,为什么这不是重复的:我问的是如何使用 Node.js 处理提交的多个版本。我没有找到任何帖子问这个。

基于,我构建了这个:

<form method="post">
    <% for(let i = 0; i < websites.length; i++){ let website = websites[i]; %>
    <fieldset>
        <label for="website<%= i %>" class="col-sm-2">Website <%= i + 1 %></label>
        <input class="website" name="website<%= i %>" id="website<%= i %>" value="<%= website %>" type="text"/>
        <span style="color: red"><%= errorMsgs[i] %></span>
        <a href="/websites/edit/<%= i %>" class="btn btn-info">Edit</a>
        <a href="/websites/delete/<%= i %>" class="btn btn-danger confirmation hide">Delete</a>
        <div id="removeBtn" class="btn btn-danger confirmation">Remove</div>
    </fieldset>
    <% } %>
    <input type="submit" class="btn btn-primary col-sm-offset-2" value="Generate a report" name="generateReport"
           data-toggle="modal" data-target="#exampleModal">
    <input type="submit" class="btn btn-primary col-sm-offset-2" value="Save websites" name="saveWebsites">
    <!-- Modal -->
</form>

我正在使用 EJS,但我认为在这种情况下并不重要。

这是我的后端:

console.log(req.generateReport);
console.log(req.saveWebsites);
if(req.generateReport!==null){
    console.log('report');
    return 0;
}
else if(req.saveWebsites!==null){
    console.log('save');
    return 0;
}

我试图使用我之前放置链接的答案,但事实证明,req.saveWebsitesreq.generateReport属性都是未定义的......那么我该如何用Node处理它?

我不想使用 AJAX,因为我需要它来禁用 JS。

标签: javascripthtmlnode.jsexpress

解决方案


我最终只制作了 2 个版本的表格。一个有 AJAX,一个没有。


推荐阅读