我问了一些类似的问题,但没有什么能帮到我。所以我很抱歉再次询问。。
首先,我创建了一个带有提交按钮的表单,该按钮指示我删除路线。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() !!}
工作了,但现在我的下拉列表中有一个真正的按钮。。这看起来不太好。有没有什么方法可以让你只站在一个:删除?
你是说你的表格有效。因此,您可以使用链接而不是按钮和简单的JS,如:
<a href="#" onclick="document.yourFormName.submit(); return false;">
或者你可以试试:
<a href="#" onclick="parentNode.submit(); return false;">