在刀片模板中,我使用foreach每次迭代创建一个表单。当前,每个表单都有一个提交按钮,但是我想使用一个提交按钮来提交所有表单,因为现在我不能同时提交所有表单。我该如何解决?
@if(count($task_criterias) > 0)
@foreach($task_criterias as $task_criteria)
<td class="card">
<div>Description:{{$task_criteria->criteriadescription}}</div>
<div>Maximum Mark:{{$task_criteria->maximummark}}</div>
{!! Form::open([
'action' => 'CriteriaMarksController@store',
'method' => 'POST',
'name' => "form"
]) !!}
<div class="form-group" hidden >
{{ Form::label('criteria_id', 'criteria_id') }}
{{ Form::text('criteria_id', $task_criteria->id, ['class'=>'form-control']) }}
</div>
<div>
{{ Form::label('selfmark','Mark ') }}
{{ Form::number('selfmark', '',['placeholder'=>'', 'class' => 'col-lg-3 control-label']) }}
</div>
{!! Form::close() !!}
</td>
@endforeach
<input type="button" class="btn btn-info " value="Submit" onclick="submitForms()" />
<script>
submitForms = function() {
$("form").each(function(){
$.ajax({
method:'POST',
url:'/criteria_marks/post',
data: $(this).serialize(),
success: function(r){
//...
}
});
});
}
</script>
@endif
答案 0 :(得分:1)
每个请求只能提交一个帖子。最简单的解决方案之一是使用ajax执行多个请求:
<script>
submitForms = function() {
$("form").each(function(){
$.ajax({
method:'POST',
url:'* route to CriteriaMarksController@store *',
data: $(this).serialize(),
success: function(r){
//...
}
});
});
}
</script>
或者您可以制作一个大表格:
{!! Form::open([
'action' => 'CriteriaMarksController@store',
'method' => 'POST',
'name' => "form"
]) !!}
@foreach($task_criterias as $key => $task_criteria)
<td class="card">
<div>Description:{{$task_criteria->criteriadescription}}</div>
<div>Maximum Mark:{{$task_criteria->maximummark}}</div>
<div>
{{ Form::label('selfmark','Mark ') }}
{{ Form::number('selfmark['.$task_criteria->id.']', '',
['placeholder'=>'', 'class' => 'col-lg-3 control-label']) }}
</div>
</td>
@endforeach
<input type="submit" class="btn btn-info " value="Submit" />
{!! Form::close() !!}
这将在帖子中形成id =>值对的关联数组自标记
答案 1 :(得分:0)
不确定如何使用Form
门面。
您现在拥有的是:
<input name="criteria_id" value="{{ $task_criteria->id }}" />
<input name="selfmark" value="{{ $task_criteria->id }}" />
但是您需要具备的是:
<input name="criteria_id[]" value="{{ $task_criteria->id }}" />
<input name="selfmark[]" />
请注意输入名称中的[]
。