【问题标题】:Identifying which form sends the POST method识别哪个表单发送 POST 方法
【发布时间】:2021-12-30 04:03:38
【问题描述】:

我一直在努力实现一些目标,以便当我收到 POST 时我知道是哪个表单发送它

我检查了form attributes,它似乎没有ID 或类似的东西,我也想不出router.post() 中的任何功能以及什么我想出的都没有用

这是表格

<form action="/dashboard/" method="POST">
   <div class="form-group">
      <button class="btn btn-success">Do!</button>
   </div>
</form>

我想知道发送帖子的FORM是不是那个。

这是我在其各自的 .js 文件中接收 POST 的方式

router.post("/", async (req, res) => { . . .

我尝试使用req 测试一些东西,但没有任何运气

作为一点相关信息,我使用的是 Bootstrap 5,我没有自己的样式或类。

【问题讨论】:

  • 如果您需要根据提交的表单做不同的事情,您通常只需定义两个不同的端点,每个表单一个,而不是试图区分提交。

标签: javascript html node.js handlebars.js express-handlebars


【解决方案1】:

在表单中添加一个隐藏的输入字段

<input type="hidden" id="formName" name="formName" value="myDashboardForm">

然后访问后端 POST 变量中的“formName”。

【讨论】:

    【解决方案2】:

    一个简单的方法是包含一个hidden input

    <form action="/dashboard/" method="POST">
       <div class="form-group">
          <button class="btn btn-success">Do!</button>
       </div>
       <input type="hidden" id="formId" name="formId" value="formType1">
    </form>
    

    那么你应该可以得到req.body.formId中的formType

    【讨论】:

      【解决方案3】:

      使用表单id添加要隐藏和访问的输入字段

      <form action="/dashboard/" method="POST">
         <div class="form-group">
            <button class="btn btn-success">Do!</button>
         </div>
         <input type="hidden" id="formId" name="formId" value="formType1">
      </form>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-04
        • 1970-01-01
        • 1970-01-01
        • 2015-09-16
        • 1970-01-01
        相关资源
        最近更新 更多