拉拉维尔中的“删除”请求下拉列表


Dropdown with 'Delete' Request in Laravel?

我都问了这样的事情,但没有帮助我的东西。所以我很抱歉再次问..

首先,我

创建了一个带有提交按钮的表单,该按钮将我定向到我的删除路线。表单有一个"删除"作为方法。

{!! 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>标签中。这就是为什么我试图做一个链接,将我定向到我的拉拉维尔删除路线。

喜欢这个:

<li><a href="{{ route('destroythread', $comment->id) }}">Delete</a></li>

但这没有奏效,因为这给了我一个"GET"请求,而不是"删除"。

好吧,现在我被困住了。我真的很抱歉再次问这个..

我希望有人能帮助我。

我的拉拉维尔删除路线是这样的:

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() !!}

工作了,但现在我的下拉列表中有一个真正的按钮..这看起来不太好。有什么办法可以站起来:删除?

你是说你的表单有效。因此,您只需使用链接而不是按钮和简单的JS,例如:

<a href="#" onclick="document.yourFormName.submit(); return false;">

或者你可以试试:

<a href="#" onclick="parentNode.submit(); return false;">