【问题标题】:using ajax to get the values from database on form submit laravel使用ajax从表单提交laravel的数据库中获取值
【发布时间】:2015-12-18 22:44:26
【问题描述】:

我的表单中有一个选择列表,例如

 <form class="form-horizontal form-bordered" method="post" action="formaction">
  <div class="form-group">
    <label class="col-md-3 control-label" for="inputSuccess">Amount</label>
        <div class="col-md-6">
           <select class="form-control mb-md" name="amount" id="amount">
                    <option value="10"> 10</option>
                    <option value="20">20</option>
                    <option value="30">30</option>
                    <option value="40">40</option>
                    <option value="50">50</option>
            </select>
        </div>

      <div class="input-group mb-md">
           <button type="submit" class="btn btn-warning btn-sm">Submit</button>
      </div>
</form>

<script>
        $("#sub").click(function(){
            $.ajaxSetup({
                headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
            });


            var selectedVal= $("select option:selected").val();
            return $.ajax({
                type: 'GET',
                url: 'getdollarvalue',
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                data: {
                    "value": selectedVal
                },
                success: function(response){

                   return alert(response);
                }
            });
        });
    </script>

我在数据库中有一个表,它将对应的值存储到选定的下拉值,例如

id      value         conversion
1         10            0.2
2         20            0.32
3         30            0.43
4         40            0.77

等等

我的routes.php

 Route::get('getdollarvalue/{value}', [
        'as' => 'getdollarvalue', 'uses' => 'dashboardController@getResult'
    ]);

还有我的controller

public function getResult(){
        $result = Input::get('value');

        return $result;
    }

现在,当我提交表单时,我想向alert 中的用户显示所选表单的相应值。例如,如果用户从下拉列表中选择20,那么在submitting 表单上,用户应该会在警报中看到20 的相应转换,即0.32。我知道我必须为此实现ajax,我只是不明白如何实现它。请指导我完成这个。

【问题讨论】:

    标签: jquery mysql ajax laravel-5


    【解决方案1】:

    HTML:

    <form class="form-horizontal form-bordered" method="post" action="formaction">
    <div class="form-group">
    <label class="col-md-3 control-label" for="inputSuccess">Amount</label>
        <div class="col-md-6">
           <select class="form-control mb-md" name="amount" id="amount">
                    <option value="10"> 10</option>
                    <option value="20">20</option>
                    <option value="30">30</option>
                    <option value="40">40</option>
                    <option value="50">50</option>
            </select>
        </div>
    
      <div class="input-group mb-md">
           <button type="submit" id="sub" class="btn btn-warning btn-sm">Submit</button>
      </div>
    </form>
    

    脚本:

    <script>
    $("#sub").click(function(){
    var selectedVal= $("select option:selected").val();
    
       $.ajax({
           type:"GET",
           url: "api/URL",//put y
           data:{ val:selectedVal},
           contentType: "application/json; charset=utf-8",
           dataType: "Json",
           success: function(result){
              alert(result.conversion); // Note Send the Json Object from the server side
           }
    
          });
    });
    </script>
    

    【讨论】:

    • 我无法将选定的下拉值发布到我的控制器,我该怎么做?
    • 请检查您发送到服务器的参数,它应该相同,即{val:selectedVal}参数'val'应该存在于即将接收调用的模型类中
    • 我已经更新了我的问题,请看看并帮助我解决这个问题。:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    • 2015-02-05
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    相关资源
    最近更新 更多