我需要将AJAX变量传递到我的视图中,以便form action
正确执行。使用Laravel 5.4。我的(缩写)视图如下所示:
<div id="product_form" class="form-horizontal">
{{ Form::open(['action' => 'ProductController@update_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
放到action语句中的正确位置。 Laravel希望看到一个变量。
Ajax Code(缩写):
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 :(得分:0)
我想到了另一种解决问题的方法:
我没有尝试将变量传递到form action
,而是更改了路线,使其不再需要id
。然后在控制器中,我只需从id
数组中提取$request
值,如下所示:
$id = $request->product_id;
我这样更新有效:
$id = $request->product_id;
Product::updateOrCreate(array('product_id' => $id),
array(
'product_name' => $request->product_name,
'product_id'=>$id,
));
我希望这有助于其他人。