LARAVEL:如何将数据从视图发送到控制器

时间:2017-11-25 11:53:04

标签: javascript php ajax laravel

我需要发送<input type='CHIPS'>

的值

add.blade.php userController@add.php

这是 add.blade.php 文件的代码:

<div class="container">
        <form method="POST" action="{!! url('add') !!}" id="ajouter" accept-charset="UTF-8">

            <label for="nom">Entrez votre nom : </label>
            <input name="name" type="text"  id="name">

            <input name="email" type="email" id="email">

            <input name="password" type="password" id="password">

            <label for="permution">saisier les parmutions : </label>

            <div class="chips" name="permution"></div>

            <input class="btn-info" type="submit" value="Envoyer !">

            <div id="permution" name="permution">

            </div>

        </form>
    </div>

这是 add.blade.php 文件中的 scripte : 我从chips_form获取数据,然后将它们设置为String

类型的新值
<!--Import jQuery before materialize.js-->
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script type="text/javascript" src="css/materialize/js/materialize.min.js"></script>


    <script>
        $(function() {

            var data = $('.chips').material_chip();
            var dataString = JSON.stringify(data);

        });
    </script>

route.php文件

Route::get('/add', 'UsersController@add_form');
Route::post('/add', 'UsersController@add');

userController.php 文件:

    public function add_form()
        {
            return view('add');
        }


        public function add(Request $request)
        {
            $name = $request->input('name');
            $email=$request->input('email');
            $password = $request->input('password');
            $cryptPassword= bcrypt($password);

            //Insert SQL Request
}

1 个答案:

答案 0 :(得分:1)

要将dataString的contenct发送到控制器,您可以在表单中创建隐藏的输入,并使用jQuery设置其值。

首先,在表单中添加一个输入:

<input id="ichips" type="hidden" name="chips">

然后,使用jQuery设置其值:

var data = $('.chips').material_chip();
var dataString = JSON.stringify(data);
$("#ichips").val(dataString);

当用户发送表单时,该值将位于隐藏输入中。

相关问题