我已经问过类似的事了,但是还没有得到帮助我的东西。所以我很抱歉再次询问..
首先,我创建了一个带有提交按钮的表单,该按钮指示我执行删除路由。表格中有一个“删除”字样。作为一种方法。
{!! Former::danger_submit('Delete') !!}
{!! Former::horizontal_open()->method('DELETE')->action(action("Test\\TestController@destroythread", $comment->id)) !!}
{!! Former::close() !!}
这很完美。这意味着我的控制器功能,路线和形式没有任何错误。
现在我决定,我想要一个下拉菜单。在下拉列表中,应写入:删除和编辑。让我们关注删除。
下拉链接看起来像这样:
<ul class="dropdown-menu">
<li><a href="#">Edit</a></li>
<li><a href="#">Delete</a></li></ul> // <- Delete
我当然不能将我的Laravel表单放在这个<li>
标签中。这就是为什么我尝试做一个指向我的laravel删除路由的链接。
像这样:
<li><a href="{{ route('destroythread', $comment->id) }}">Delete</a></li>
但这个避风港之所以有效,是因为这给了我一个&#39; GET&#39;请求,而不是&#39;删除&#39;。
好吧,现在我被卡住了。我很抱歉再次问这个......
我希望有人可以帮助我。
我的laravel删除路线是这样的:
Route::delete('/show/{id}', ['as' => 'destroythread', 'uses' => 'Test\\TestController@destroythread']);
我的控制器功能如下:
public function destroythread($id) {
$comment = Comment::query()->findOrFail($id);
$comment->delete();
return redirect()->back();
}
我关于这个问题的最后一个问题无法帮助我。一位用户说我可以使用ajax,但我真的不明白它是如何工作的,并且根本不喜欢这种方式。
感谢您的帮助!
编辑@Joost回答:
{!! Former::horizontal_open()->method('DELETE')->action(action("Test\\TestController@destroythread", $comment->id)) !!}
<li><button>Delete</button></li>
{!! Former::close() !!}
工作但现在我的下拉菜单中有一个真正的按钮..这看起来不太好看。有什么方法可以表明:删除?
答案 0 :(得分:-1)
你说你的表单有效。所以你可以使用链接代替按钮和简单的JS,如:
<a href="#" onclick="document.yourFormName.submit(); return false;">
或者你可以试试:
<a href="#" onclick="parentNode.submit(); return false;">