【问题标题】:How to make dynamic fields from user input in laravel?如何从 laravel 中的用户输入创建动态字段?
【发布时间】:2016-05-03 21:40:24
【问题描述】:

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

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

提交后。应该有与上面输入一样多的空白字段。 我搜索了一些参考资料,但没有太多关于我可以获得的代码的更多信息。我进退两难了。我希望能得到帮助。谢谢你

【问题讨论】:

    标签: javascript php arrays dynamic laravel-5.1


    【解决方案1】:

    在你的控制器中添加方法为:

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

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

    在视图文件中输入以下代码: any-view-name-that-you-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 view('any-view-name-that-you-want',['number' => $number])->__toString();
    

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

    【讨论】:

      猜你喜欢
      • 2019-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多