【发布时间】:2014-08-09 14:04:58
【问题描述】:
我是 Laravel 的菜鸟,所以请多多包涵。
我正在继续处理一个朋友的网页,该网页显示了一个项目列表(每个项目旁边都有一个复选框)。有很多方法可以与所述项目进行交互,例如“删除”、“更新”,以及我正在处理的“下载”。每行/项目/复选框都有一个删除按钮,因此用户可以轻松地删除一个项目。还有一个批量删除选项,用户可以在其中检查多行,选中“删除”复选框,然后单击“更新”。该网页将数据存储在mongodb上。
假设用户选中该框,单击“下载”,然后为用户创建并下载文件。
但我还没有进入那部分。现在我什至无法检查复选框是否被选中。
这是我的代码:
下载按钮:
<div class="col-md-1 col-md-offset-1">
{{ Form::open( array(
'url' => 'contents/download',
'role' => 'form',
'method' => 'POST',
'class' => 'form-inline'
)
) }}
<div class="form-inline" role="form">
<div class="form-group">
<input type="submit" class="btn btn-success" name="download" id="download" value="Download Selected">
</div>
</div>
{{ Form::close() }}
</div>
这里是复选框/项目的行。请注意,复选框的值是一个变量 - 它对应于数据库中项目的 ID。
@foreach($children as $child)
@if($mother->id == $child->mother_id)
<tr>
<td class="text-center">
{{--*/ $child->id /*--}}
<input type="checkbox" class="child" value="{{ $child->id }}" onclick=isSelected(this)>
</td>
<td>
<span class="glyphicon glyphicon-file"></span>
<a href="{{ url($child_url) }}">{{ ucwords($child->child) }}</a>
</td>
<td class="text-center">
Coder
</td>
<td class="text-center">
{{ $child->updated_at }}
</td>
<td class="text-center">
{{ Form::open(array(
'url' => 'contents/delete',
'role' => 'form',
'method' => 'POST',
'class' => 'form-inline'
)
) }}
<input type="hidden" value="{{ $child->id }}" name="id">
<input type="submit" class="btn btn-danger btn-xs" name="deleteChild" value="Delete" onclick="return confirmDelete();" />
{{ Form::close() }}
</td>
</tr>
@endif
@endforeach
控制器代码:
public function postDownload()
{
$input = Input::all();
if(Input::has("child"))
{
echo $input["child"];
// Begin download
}
else
{
echo "none";
// Error - No Item selected
}
}
我对 Laravel 的理解充其量只是基本的。我哪里做错了?或者也许还有另一种方法?
【问题讨论】:
-
总是详细地提出问题。你没有提供你的路线,最上面的下载按钮代码没有意义。请详细说明您的问题。