我有一个创建动态输入的表格。我需要能够由控制器来接他们,但由于它不是动态的,所以它只接受第一个输入,从第一个输入来看它们都是动态的,所以它不起作用
表单HTML
<form method="get" action="{{route('albaran_entrada_create')}}">
<input class="form-control widthInput2 precio" id="precio-{{$num}}" name="precio-{{$num}}" type="number" value="0">
<input type="submit" class="btn btn-primary" value="Crear Albaran entrada">
</form>
控制器:
public function albaran_entrada_create(Request $request){
$precio1=$request->precio-1; // no dynamic
$precio2=$request->precio-2; // yes dynamic
Log::info($precio1); //good
Log::info($precio2); //bad
}
PD:如果我通过ajax传递表单,它将起作用吗?
答案 0 :(得分:-1)
尝试循环抛出请求输入并获取输入的键和值
foreach ($request->except('_token') as $key => $value) {
Log::info($key);
Log::info($value);
}
答案 1 :(得分:-1)
在您的控制器中,您可以遍历表单中表单元素的数量(如果可以计数),将值分配给变量变量。
for($i=0; $i<$elements_count; $i++) {
${'precio'.$i} = $request->input('precio'.$i);
}
答案 2 :(得分:-1)
为什么不使用数组发送这些输入,也可以更容易地知道其中的数字。
<form method="get" action="{{route('albaran_entrada_create')}}">
<input class="form-control widthInput2 precio" id="precio-{{$num}}" name="precio[{{$num}}]" type="number" value="0">
<input type="submit" class="btn btn-primary" value="Crear Albaran entrada">
</form>
然后在控制器中,您只需要恢复一个输入,即数组
public function albaran_entrada_create(Request $request){
$precio = $request->input('precio', []);
// example of result [1 => "precio 1 value", 4 => "precio 4 value"]
}