首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从javascript获取输入值时不能将值传递给控制器

从javascript获取输入值时不能将值传递给控制器
EN

Stack Overflow用户
提问于 2018-03-02 09:52:47
回答 1查看 407关注 0票数 2

我在Controller中获取所有其他输入数据,并将它们存储在数据库中,但我在输入字段中有,但无法在Controller中获取该数据。和其他输入字段的不同之处在于,我正在使用javascript获取Total。如果我搞错了,我想我不会在Controller中给取正确的名字

checkout.blade.php

代码语言:javascript
复制
<div class="row">
    {!! Form::open(['route'=>'address.store','method'=>'post'])!!}
        {{ csrf_field() }}

    <tr class="order-total">
    <th>Total</th>
        <td>
            <strong>
                <span class="woocommerce-Price-amount amount">
                <span class="woocommerce-Price-currencySymbol">PKR.
                  <input style="border: none; background-color: #FFFFFF" id="Total" name="Total" disabled title="Total"></span>
                </span>
            </strong>
        </td>
    </tr>
    {!! Form::close() !!}


<script>
      $(document).ready(function(){
          var span_Text = document.getElementById("SubT").innerHTML;
          var del1 = 150;
          var Total=+del1 + +span_Text;
          $("#delivery").html(del1);
          $("#note").html('Note: Delivery Charges will be Rs.150/-');
          $("#Total").val(Total);

          $('#location').change(function(){
              var x = ($(this).val());

              if(x === 'Other'){
                  if(span_Text >= 1500){
                  $('.formx').show();
                  var del2=200;
                  var Total1=+del2 + +span_Text;
                  $("#delivery").html(del2);
                  $("#note").html('Note: All Other Location Delivery Charges will be Rs.200/- and Order must of Rs.1500/-');
                  $("#Total").val(Total1);
                  }
                  else{
                  alert('Order must of Rs.1500/-');
                  $("#note").html('Note: All Other Location Delivery Charges will be Rs.250/- and Order must of Rs.1500/-');

                  }
              }
              else {
                  var Total2=+del1 + +span_Text;
                  $('.formx').hide();
                  $("#delivery").html(del1);
                  $("#note").html('Note: Delivery Charges will be Rs.150/-');
                  $("#Total").val(Total2);

              }
          });
      });
</script>

Controller.php

代码语言:javascript
复制
   public function store(Request $request)
    {
        $this->validate($request,[
            'fname'=>'required',
            'lname'=>'required',
            'Ttl'=>'required',
            'email'=>'required|email',
            'addressline'=>'required',
            'city'=>'required',
            'pro'=>'required',
            'phone'=>'required |regex:/^[0-9\-\+]{9,15}$/',
            'Total'=>'required'
//(0)[0-9]{9}
            //|regex:/^[0-9\-\+]{9,15}$/
        ]);
        Address::create($request->all());

        return redirect('/')->with('valPrev',1);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-02 10:01:03

问题出现在disabled关键字中,因为未提交禁用字段。

因此,您可以只读取输入,而不是禁用输入,或者添加隐藏输入,以便在提交时获得如下值:

代码语言:javascript
复制
<span class="woocommerce-Price-currencySymbol">PKR.
      <input readonly style="border: none; background-color: #FFFFFF" id="Total" name="Total" title="Total"></span>
</span>

对于隐藏的输入:

代码语言:javascript
复制
<span class="woocommerce-Price-currencySymbol">PKR.
      <input style="border: none; background-color: #FFFFFF" id="Total" disabled title="Total"></span>
      <input type="hidden" id="TotalHidden" name="Total" ></span>
</span>

不要忘记更新JavaScript代码中的两个字段:

代码语言:javascript
复制
$("#Total").val(Total1);
$("#TotalHidden").val(Total1);
// and other places
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49066663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档