我正在使用Laravel 5.7开发Laravel应用程序,并且存在以下问题:
我想做这样的事情
<form method="post" action="/story/editorsubmit" enctype="multipart/form-data">
@csrf
<input type="hidden" name="fullobject" value={{ $req }}>
<button type="submit" name="submitButton" value="edit" class="btn btn-primary">Edit</button>
</form>
答案 0 :(得分:2)
从表单提交的数据成为请求。另外,您还缺少一些报价。
<form method="post" action="/story/editorsubmit" enctype="multipart/form-data">
@csrf
<input type="hidden" name="fullobject" value="{{ $req }}">
<button type="submit" name="submitButton" value="edit" class="btn btn-primary">Edit</button>
</form>
可以使用提交属性的名称在提交表单的控制器中访问当前数据。但是我怀疑这是否可以工作,因为$ req是对象,而不是字符串。
$object = request('fullobject');
但是理想情况下,您应该分别定义属性。我假设这些隐藏元素实际上代表可编辑的表单输入?如果什么都没有改变,那么这样做就没有意义。
编辑:添加了处理数组的方法。
<form method="post" action="/story/editorsubmit" enctype="multipart/form-data">
@csrf
@foreach ($req->all() as $key => $value)
@if (is_array($value))
@foreach($value as $v)
<input type="hidden" name="{{ $key }}[]" value="{{ $v }}">
@endforeach
@else
<input type="hidden" name="{{ $key }}" value='{{ $value }}'>
@endif
@endforeach
<button type="submit" name="submitButton" value="edit" class="btn btn-primary">Edit</button>
</form>
然后提交的请求将包含以前的各个属性。