我都问了这样的事情,但没有帮助我的东西。所以我很抱歉再次问..
首先,我创建了一个带有提交按钮的表单,该按钮将我定向到我的删除路线。表单有一个"删除"作为方法。
{!! 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;">