首页 > 解决方案 > 单击按钮时表单未提交 - onclick="this.form.submit()"

问题描述

单击按钮时,我的表单未提交。它工作正常,但我不知道为什么它停止工作。它不会控制台日志中的任何内容。我没有输入类型提交,因为我正在使用onclick方法操作按钮。

这是我的 HTML 代码(包含在表格中):

<tbody>
                    <% produtos.forEach(function(produto){ %>
                        <tr>
                            <form action="/deleteProduto" method="POST"></form>
                                <td><%= produto._id %></td>
                                <td><%= produto.nomeProduto %> </td>
                                <td><%= produto.marcaProduto %> </td>
                                <td><%= produto.categoriaProduto %> </td>
                                <td><%= produto.descricaoProduto %></td>
                                <td><span>R$ </span><%= produto.precoUnitario %></td>
                                <td><%= produto.quantidadeEstoque %></td>
                                <td><%= produto.condicaoProduto %></td>
                                <td class="actions">
                                  <a href="/editarProduto" name="editButton" class="btn btn-outline-dark" value="<%=produto._id%>">Editar</a>
                                  <button name="deleteButton" class="btn btn-outline-dark" value="<%=produto._id%>" onclick="this.form.submit()">Remover</button>
                                </td>
                            </form>
                        </tr>
                    <%})%>
                </tbody>

这是后端:

app.post("/deleteProduto", function(req,res){

const clickedItem = req.body.deleteButton;
console.log("clicado");
Produto.findByIdAndDelete({_id: clickedItem}, function(err){
    if(err){
        res.send(err);
    }else{
        res.redirect("/adm");
    }
})

})

我真的很感谢你的帮助:)

标签: htmlexpressmongoose

解决方案


您可以通过使按钮具有提交类型来完全避免这个问题吗?

<button type="submit" name="deleteButton" class="btn btn-outline-dark" value="<%=produto._id%>">Remover</button>

推荐阅读