提问者:小点点

在Laravel中有“删除”请求的下拉列表?[副本]


我问了一些类似的问题,但没有什么能帮到我。所以我很抱歉再次询问。。

首先,我创建了一个带有提交按钮的表单,该按钮指示我删除路线。Form有一个DELETE作为方法。

{!! 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><a href="{{ route('destroythread', $comment->id) }}">Delete</a></li>

但是这不起作用,因为这给了我一个GET请求,而不是DELETE。

现在我被卡住了。我真的很抱歉再次问这个...

我希望有人能帮助我。

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

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


共1个答案

匿名用户

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

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

或者你可以试试:

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