Отправить форму с ссылкой не работает - PullRequest
0 голосов
/ 26 июня 2019

У меня есть эта форма

<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>

Когда я щелкаю по мусорному ведру, оно предполагает субмитить форму, но это не так.

Я вижу, что страница обновляется, но она никогда не достигает моего контроллера.

Что я пропустил?

Ответы [ 2 ]

4 голосов
/ 26 июня 2019

Короче говоря, не используйте ссылку (якорь) для этого. Это заставляет вас пытаться написать код JavaScript (и такие хаки, как href="#"), чтобы попытаться бороться с семантикой использования ссылки, когда вам просто нужно использовать кнопку.

Поскольку у вас есть Bootstrap, стиль кнопки выглядит как , ссылка тривиальна. Например:

<button type="submit" class="btn btn-link">
    <i class="fa fa-trash text-danger"></i>
</button>

Он поддерживает HTML в чистоте и простоте, не вносит ненужных сложностей, будет работать без JavaScript и более доступен для таких инструментов, как программы чтения с экрана, и использует семантику элементов, а не борется с ними.

0 голосов
/ 26 июня 2019

Еще один способ:

<a href="javascript:void(document.forms[0].submit())">
<i class="fa fa-trash text-danger">Link</i>
</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...