Как создать ссылку на значок, которая функционирует так же, как кнопка отправки в Laravel 5.7?

#html #laravel

#HTML #laravel

Вопрос:

У меня есть пользовательская функция в моем контроллере модели под названием block, она устанавливает поле в базе данных для одного пользователя от 0 до 1 или наоборот, в моем индексе есть datatable, который отображает пользователей вместе с block/unblock button , datatable выглядит следующим образом:

введите описание изображения здесь

И теперь я переделал свою таблицу данных на более привлекательную, используя значки, которые выглядят следующим образом

введите описание изображения здесь

проблема в том, что нажатие на значок блока ничего не делает, это код для первой кнопки блокировки:

 <td>
    <form action="{{ route('users.block',$user->id) }}" method="post">
        @csrf
        <button class="btn btn-danger" type="submit">Bloquer</button>
    </form>
</td>
  

и это новый код для значка блока

 <td>
    <form action="{{ route('users.block',$user->id)}}" method="post">
        @csrf
        <a class="icon" >
            <i class="fe fe-lock"></i>
        </a>
    </form>
</td>
  

Я попытался добавить type="submit" в свойства значка, но это выглядит не так, и это не работает, я использовал <button> тег вместо <i> это работает, но это не похоже на значок, спасибо за ваше терпение

Комментарии:

1. почему бы вам просто не передать URL в формате href ?? таким образом <a class="icon" href="{ route('users.block',$user->id)}}" > вам может потребоваться изменить маршрут, чтобы ПОЛУЧИТЬ.

2. Это сработало, большое спасибо!

Ответ №1:

Вы создаете форму, и если вы хотите, чтобы она работала, вам нужно отправить ее (это то, что делает атрибут HTML type="submit" ). Я не думаю, что это сработает, если вы добавите сюда любой другой тег.

Если ваша проблема связана только со стилем кнопки, вы могли бы сделать это:

 <td>
   <form action="{{ route('users.block',$user->id) }}" method="post">
                  @csrf
       <a class="icon" ><button class="btn btn-danger" type="submit"><i class="fe fe-lock"></i></button></a>
   </form>
</td>
  

Вы можете изменить CSS, чтобы кнопка выглядела просто как значок.

Для получения дополнительной информации нажмите здесь

РЕДАКТИРОВАТЬ: кнопка без какого-либо стиля:

 .form-button {
	background: none;
	color: inherit;
	border: none;
	padding: 0;
	font: inherit;
	cursor: pointer;
	outline: inherit;
}  
 <button class="form-button">Put the other tags here</button>  

Ответ №2:

Вы можете использовать тег привязки для submit и добавить код значка внутри a тега, как показано ниже:

 <td>
   <form action="{{ route('users.block', $user->id) }}" method="post">
           @csrf
       <a class="icon" type="submit"><i class="fe fe-lock"></i></a>
   </form>
</td>