首页 > 解决方案 > 如何从输入名称字段而不是NodeJS中的数组获取单个值

问题描述

我正在尝试从笔记列表中删除元素。当我尝试将单个名称与列表标题匹配时,它会显示一组项目。我想匹配

const input name ===day 并且输出应该是输入名称字段中的“home”,但它显示 ["home","home","home","home"]

这是我的删除表单代码:

 <form action="/delete" method="POST">
 <% for (let i=0; i<newListItems.length; i++) { %>
      <div class="item">

        <input type="checkbox" onChange="this.form.submit()" name="checkboxname" value="<%=newListItems[i]._id%>">
        <p><%=  newListItems[i].name  %></p>
         
      </div>
      <input type="hidden"  name="listName" value="<%= listTitle %>"></input>
      <% } %>
    </form>

app.js 代码:

app.post("/delete", function (req, res) {
  const deleteItem = req.body.checkboxname
  const listName = req.body.listName
  console.log(listName)


  if (listName === day) {
    console.log("hello")
  } else {
    console.log("custome list value")
  }
  
    

})

标签: node.jsexpressmongoose

解决方案


有 4 个以相同名称呈现的隐藏输入listName

因此,您的请求有效负载将使用来自所有这些输入的值数组来完成。

将隐藏的输入移到 PHP 循环之外。关键是用一个name='listName'而不是四个输入


推荐阅读