我遇到了一个奇怪的问题。
我有一个bootstrap模式。
我通过在该模态上调用ajax来加载数据。
我想使用jQuery ajax提交表单,所以我在提交表单时使用了event.preventDefault()。
// add_product_form is ID of my form
$('#add_product_form').submit(function(e){
e.preventDefault();
var myform = document.getElementById("add_product_form");
var fd = new FormData(myform );
var url = $(this).attr('action');
var token = $('input[name=_token]').val();
var _this = $(this);
$.ajax({
url:url,
data:fd,
cache: false,
processData: false,
contentType: false,
method:'POST',
success:function(result){
}
});
});
});
应该发生的是它应该使用ajax提交数据。
但它会重定向到动作URL而不是通过ajax调用动作URL。
当我在下拉列表中选择产品类别和产品名称时,它工作正常。
我不明白为什么。
从我的视图中,当我选择产品时,点击事件被绑定为提交按钮。
请告诉我任何其他建议。
我该如何解决?
我的模态代码由ajax加载
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Add Product</h4>
</div>
<div class="modal-body">
<div class="group-form">
{!! Form::model($quote_details,['id'=>'add_product_form','url'=>action('AjaxController@CheckProductExist')]) !!}
<div class="col-md-6">
<div class="col-sm-12">
{!! Form::label('fk_product_class_id','Category') !!}
{!! Form::select('fk_product_class_id', $quote_details->getCategoryInDropdown(), Input::old('fk_product_class_id'), ['data-save'=>'false','placeholder' => 'Select Category...','class'=>'form-control category_select']) !!}
{{ csrf_field() }}
</div>
<div class="clearfix"></div><br>
<div class="col-sm-12">
<label>Product</label>
<select name="product_id" class="form-control product_name_dd_modal">
<option></option>
</select>
</div>
<div class="clearfix"></div><br>
<div class="col-sm-12">
<label>Quantity</label>
{!! Form::text('qty',null,['class'=>'form-control','placeholder'=>'Quantity']) !!}
</div>
<div class="col-sm-12 text-center">
<input type="hidden" name="quoteid" value="{{$_GET['id'] or ''}}">
<button type="submit" id="product-submit" class="save_btn"><img src="{{ url('/img/save_img.png')}}" class="cursor" ></button>
</div>
<div class="clearfix"></div>
{!! Form::close() !!}
</div>
</div>