如何根据 laravel 中的用户输入创建动态字段


How to make dynamic fields from user input in laravel?

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

 {!! 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() !!}

提交后。 应该有一个与上述输入一样多的空白字段。我已经搜索了一些参考资料,但没有太多关于我能得到的代码的更多信息。我陷入了两难境地。我希望得到帮助。谢谢

在控制器中添加方法为:

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

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

在视图文件中输入以下代码:任何视图名称,你想要的秃头.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 请求。希望这对您有所帮助。