链接按钮在 Laravel 中不起作用
Posted
技术标签:
【中文标题】链接按钮在 Laravel 中不起作用【英文标题】:Link Button Not Working in Laravel 【发布时间】:2018-11-19 10:25:25 【问题描述】:我想在 laravel 的 CRUD 应用程序中编辑一条记录,其中我有一个链接到索引视图的按钮,但是当我单击它时,它会将我重定向到控制器的 UPDATE 方法。 这是我的表格:
!! Form::open(['route' => ['players.update', $player->id], 'method' => 'PUT', 'files'=>'true']) !!
<div class="row col-md-10 col-md-offset-1 panel">
<div class="col-md-8 col-md-offset-2">
<br />
<div class="form-group">
Form::label('name', 'Player Name')
Form::text('name', $player->name, ['class' => 'form-control'])
</div>
<div class="form-group">
Form::label('file', 'Upload Image')
Form::file('pic')
</div>
<div class="form-group">
Form::button('Save Record', ['type' => 'submit', 'class' => 'btn btn-success'])
!! Form::close() !!
<a href=" route('players.index') ">
<button class="btn btn-danger" >Cancel</button>
</a>
</div>
</div>
</div>
我有以下按钮用于返回索引页面,但这会将我带到控制器的 UPDATE 方法:
<a href=" route('players.index') ">
<button class="btn btn-danger" >Cancel</button>
</a>
这是我在控制器中的索引方法:
public function index()
$players = Player::paginate(5);
return view('players.index', compact('players'));
这是控制器中的 UPDATE 方法:
public function update(Request $request, $id)
return "Hi";
这是我的路由文件内容:
Route::resource('news', 'NewsController');
Route::resource('competition', 'CompetitionsController');
Route::resource('players', 'PlayersConroller');
在我看来一切都很好,但我不知道这里出了什么问题。 提前感谢任何帮助。
【问题讨论】:
发布路线文件的内容 @AmandeepSingh,我将其添加到问题中。 Arw 你确定你在正确的地方关闭了表单标签,我不这么认为。 我认为您的结束标签排列不正确..请先修复它.. @AbdulRaheemGhani:你觉得它有效吗? 【参考方案1】:我不确定它是否能解决您的问题,请尝试将您的按钮代码放在表单组 div 之外。
您可以将代码更改为
<a href=" route('players.index') " class="btn btn-danger">Cancel</a>
您可以检查您的 html,您已将按钮放在表单标签内,这是提交类型的原因,这就是它再次提交表单的原因。
将您的表单代码替换为:
<div class="row col-md-10 col-md-offset-1 panel">
<div class="col-md-8 col-md-offset-2">
!! Form::open(['route' => ['players.update', $player->id], 'method' => 'PUT', 'files'=>'true']) !!
<br />
<div class="form-group">
Form::label('name', 'Player Name') Form::text('name', $player->name, ['class' => 'form-control'])
</div>
<div class="form-group">
Form::label('file', 'Upload Image') Form::file('pic')
</div>
<div class="form-group">
Form::button('Save Record', ['type' => 'submit', 'class' => 'btn btn-success'])
</div>
!! Form::close() !!
</div>
<a href=" route('players.index') ">
<button class="btn btn-danger">Cancel</button>
</a>
</div>
【讨论】:
这背后的逻辑是什么? 我在手机上发帖,所以无法发布代码。看来你的html代码结构不对。 @AbdulRaheemGhani :实际上他是对的,你可以检查你的 html 你把button
放在表单标签里面哪个是submit
类型,它照常工作
@AmandeepSingh :我正在更新适用于他的代码,但如果他正确安排了他的标签,那么它将自动工作,button
标签将在 button
类型之外工作 form
标签
@AmandeepSingh :如果您觉得可以更新/删除我的更改。以上是关于链接按钮在 Laravel 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
ng-submit 在 Laravel PHP 框架中不起作用
laravel 项目在“http://localhost/public/”中不起作用,页面显示“此页面不起作用”