提交带有链接的表单不起作用

kyo*_*kyo 0 html javascript forms jquery post

我有这个表格

<form method="POST" action="http://site.test/nodes/destroy" accept-charset="UTF-8" class="form-horizontal" role="form"><input name="_token" type="hidden" value="G2Mk8eZLwPOw5YYvKMSLj7kw6ThR4e2fP7aAWoGt">

    <a href="" onclick="form.submit();">
        <i class="fa fa-trash text-danger"></i>
    </a>


    <input name="ip" type="hidden" value="172.18.29.241">

</form>
Run Code Online (Sandbox Code Playgroud)

当我单击垃圾桶时,它应该提交表单,但它没有。

我可以看到页面正在刷新,但它从未到达我的控制器。

我错过了什么 ?

Dav*_*vid 5

简而言之,不要为此使用链接(锚点)。这样做会导致您尝试编写 JavaScript 代码(以及诸如href="#")来尝试对抗使用链接的语义,而您应该只使用按钮。

由于您有 Bootstrap,因此将按钮设计为看起来像链接是很简单的。例如:

<button type="submit" class="btn btn-link">
    <i class="fa fa-trash text-danger"></i>
</button>
Run Code Online (Sandbox Code Playgroud)

它使 HTML 保持干净和简单,不会引入不必要的复杂性,无需 JavaScript 即可工作,并且更容易被屏幕阅读器等工具访问,并且使用元素的语义而不是与它们对抗。