如何从laravel中的用户输入创建动态字段?

时间:2016-01-27 04:24:28

标签: javascript php arrays dynamic laravel-5.1

当我想根据用户输入制作动态字段时,我迷失了方向。例如,这是接收用户输入以创建空白字段的字段:

 {!! Form::open(array('url' => 'home')) !!}
    <div class="form-group">
        {!! Form::label('n', 'Parameter') !!}
        {!! Form::number('n', null, ['class' => 'form-control', 'placeholder' => 'How Many Parameter to create ?']) !!}
    </div>
    {!! Form::submit('Submit', ['class' => 'btn btn-primary']) !!}
    {!! Form::close() !!}
提交后

。应该有一个空白字段,与上面的输入一样多。 我已经搜索了一些参考资料,但是我没有关于代码的更多信息。而且我处于困境中。我希望得到帮助。三江源

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

在控制器中添加方法:

public function anyMethodNameThatYouWant(Request $request)
{
    $number = request->input('n');
    return view('any-view-name-that-you-want',['number' => $number]);
}

只需将表单提交给控制器的此方法,您将获得用户发布的用于创建字段的编号。

在视图文件中输入以下代码: 的任何 - 视图 - 名称 - 即任您want.balde.php

@for ($index = 1; $index <= $number; $index++)
    <div class="form-group">
        <label for="n{{ $index }}">Parameter{{ $index }}</label>
        <input type="text" name="n{{ $index }}" id="n{{ $index }}" value="" placeholder="Parameter{{ $index }}"  />
    </div>
@endfor

现在这将为您创建输入字段。

您可以通过ajax发布表单以获取输入的数量。当您通过ajax发布表单时,只需更改控制器方法的return语句,如下所示:

return view('any-view-name-that-you-want',['number' => $number])->__toString();

因此,它将以字符串格式提供整个视图,您可以轻松地将此HTML响应发送回您的ajax请求。 希望这会对你有所帮助。