2017-05-31 4 views
0

form actionが正しく実行されるように、AJAX変数をビューに渡す必要があります。 Laravelを使って5.4。そして、私(略して)ビューは次のようになります。JS変数をLaravelフォームアクションに適用する方法

<div id="product_form" class="form-horizontal"> 

    {{ Form::open(['action' => '[email protected]_product', // PRODUCT_ID MUST GO HERE]) }} 


    <div class=" form-group"> 
     <div class="col-sm-2 col-md-2">{{ Form::label('product_name', 'Product Name:') }}</div> 
     <div class="col-sm-4 col-md-4">{{ Form::text('product_name',null) }}</div> 
     <div class="col-sm-2 col-md-2">{{ Form::label('product_id', 'Product Code') }}</div> 
     <div class="col-sm-4 col-md-4">{{ Form::text('product_id', null) }}</div> 
    </div> 

私のAjax機能は、しかし、私はアクション文で正しい場所にproduct_idを得るのに苦労しています、正しくフォームフィールドにすべての値を渡しています。 Laravelは変数を見ることを期待しています。

アヤックスコード(省略):

select: function(event, ui) { 
     var product_id = (ui.item.value); 

     $.ajax({ 
      url: "product_fullsearch/"+product_id, 
      dataType: "json", 
      type:"GET", 
      success: function (data) { 
       $('#product_name').val(data[0].product_name); 
       $('#product_id').val(data[0].product_id); 
       $("#supplier_name").val(data[0].supplier_name); 
       $("#supplier_id").val(data[0].supplier_id); 
      } 
     });//END AJAX 

    } 

私はSOにこのPass JS variable to form actionを見て、それを行くを与えたが、私はそれはLaravelコンテキストで動作させることができませんでした。

私は間違っていますか?どうもありがとう !

答えて

0

は、私は問題を解決する別の方法を考えた:

代わりform actionに変数を渡すしようとすると、私はそれはもはやidを必要とするようなルートを変更しました。そして、コントローラで、私は単純に、このよう$request配列からid値を引く:

$id = $request->product_id;

Iアップデートが動作します。この方法:

$id = $request->product_id; 

    Product::updateOrCreate(array('product_id' => $id), 
     array(
      'product_name' => $request->product_name, 
      'product_id'=>$id, 
     )); 

私は、これは他の誰かに役立ちます願っています。

関連する問題