Call route from button inside an <a> tag laravel
Call route from button inside an <a> tag laravel
我是laravel和Javascript的新手。
我有一条看起来像的路线
Route::get('/problems/{problem}/edit', 'AdminController@editProblem');
我的页面看起来像图像
此页面的HTML代码是
@foreach($in_contest->problems as $problem)
<div class="list-group">
<a href="#" class="list-group-item">
<i class="fa fa-file fa-lg"></i>
{{ $problem->title }}
<span class="pull-right">
<button onclick="callRoute()" class="btn btn-xs btn-info button">Edit</button>
</span>
</a>
</div>
@endforeach
我为这个onclick写了javascript代码,它是
<script type="text/javascript">
function callRoute() {
window.location = '{{ url('/problems/' . $problem->id . '/edit') }}';
}
</script>
现在,每次我单击P1、P2或P3上的编辑按钮,都会打开P4的编辑页面。正在为所有人打开相同的url。我希望当我在P1上单击编辑时,它重定向到P1的$problem-id的编辑页面。其他人也一样。
这个问题的解决办法是什么?
它之所以调用p4,是因为在运行foreach循环之后,基本上就是在将问题ID的最后一次迭代写入javascript。
您可以通过将视图代码更改为以下代码来避免将刀片语法一起添加到javascript中,从而将当前问题ID传递给javascript函数
@foreach($in_contest->problems as $problem)
<div class="list-group">
<a href="#" class="list-group-item">
<i class="fa fa-file fa-lg"></i>
{{ $problem->title }}
<span class="pull-right">
<button onclick="callRoute({{ $problem->id }})" class="btn btn-xs btn-info button">Edit</button>
</span>
</a>
</div>
@endforeach
以及您的javascript函数到以下
<script type="text/javascript">
function callRoute(problemID) {
window.location = '/problems/' + problemID + '/edit';
}
</script>
您的页面中有4个结果,而callRoute
函数在循环之外,因此循环完成后,您在脚本标记中访问的变量$problem
是在结果集合上迭代的最后一个变量,因此它具有id 4
只需像一样编写即可
<button onclick="callRoute({{ $problem->id }})" class="btn btn-xs btn-info button">Edit</button>
并且在您的脚本中
function callRoute(problem_id) {
window.location = '/problems/' + problem_id + '/edit';
}
相关文章:
- 在<页眉>标签
- 如何更改<svg>标记为<img>用js标记
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- Ajax文件加载和<输入>文件加载
- 为什么要使用0>javascript中的0
- Setting default onclick behavior for <img> tag in gene
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 链接所有<a>Meteor
- 在<输入类型=“;文件“/>
- Div根据<选择>菜单
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- 如何首先设置样式<td>表中包含在窗体中的元素
- 通过点击<李>在jQuery中
- 正在检测导航到<a name=“;最新主题”></a>
- 将所选类别循环到ul>李用加载更多按钮
- 如何更改<选择>使用angularJS从控制器获得的值
- 使用下拉列表筛选列表(ul>li)
- 这个问号在Flow中意味着什么:“;?()=>“无效”;
- 如何附加<ul><李>元素位于某个特定条件的父元素列表之间
- TinyMCE:如何防止<br>-列表元素中的TAG