Я делаю веб-приложение электронной коммерции в Laravel, и я застрял в точке, чтобы добавить продукты в панель администратора.Вкладка jQuery перемещается на последнюю вкладку при нажатии кнопки
Есть 3 вкладки для добавления продуктов
- Общая информация
- метаинформацию
- Параметры продукта.
Я использую AJAX для вставки данных в базу данных.
Проблема с тем, что всякий раз, когда я нажимаю кнопку отправки, когда данные проходят и возвращает сообщение success
, текущая вкладка перемещается на последнюю вкладку, то есть, если я на общей вкладке, и когда я нажимаю кнопку отправки, Tab, последняя вкладка активируется вместо мета. Я хочу, чтобы он следовал последовательной последовательности.
HTML:
<ul class="nav nav-tabs">
<li class="active"><a href="#general" data-toggle="tab">General</a></li>
<li><a href="#meta" data-toggle="tab">Meta</a></li>
<li><a href="#options" data-toggle="tab">Options</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active fade in" id="general">
<div class="errors"></div>
{!! Form::open(['files' => 'true', 'autocomplete' => 'off', 'name' => 'formAddProductGeneralInfo']) !!}
<div class="form-group">
{!! Form::label('code', 'Code:') !!}
{!! Form::text('code', null, ['class' => 'form-control input-sm']) !!}
</div>
<div class="form-group">
{!! Form::label('name', 'Name:') !!}
{!! Form::text('name', null, ['class' => 'form-control input-sm']) !!}
</div>
<div class="form-group">
{!! Form::label('quantity', 'Quantity in Stock:') !!}
{!! Form::text('quantity', null, ['class' => 'form-control input-sm']) !!}
</div>
<div class="form-group">
{!! Form::submit('Add', ['class' => 'btn btn-primary btn-block', 'id' => 'btnAddProductGeneral']) !!}
</div>
{!! Form::close() !!}
</div>
<div class="tab-pane" id="meta">
meta
</div>
<div class="tab-pane" id="options">
options
</div>
</div>
JQuery AJAX:
$("form[name='formAddProductGeneralInfo']").submit(function(e) {
var inputData = new FormData($(this)[0]);
$.ajax({
url: '{{ url('/admin/products/general') }}',
type: 'POST',
data: inputData,
async: true,
success: function(message) {
if (message.status === 'success') {
toastr.success(message.msg, 'Successs!');
$('.nav-tabs').find('li').next().addClass('active');
$('.tab-content').find('div.active').next().addClass('active');
$('.nav-tabs').find('li').prev().removeClass('active');
$('.tab-content').find('div.active').prev().removeClass('active');
} else {
toastr.error(message.msg, msg.status);
}
},
error: function(data) {
if (data.status === 422) {
var errors = data.responseJSON;
var errorsHtml = '<div class="alert alert-danger"><ul>';
errorsHtml += '<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>';
$.each(errors, function(key, value) {
errorsHtml += '<li>' + value[0] + '</li>';
});
errorsHtml += '</ul></div>';
$('.errors').html(errorsHtml);
}
},
cache: false,
contentType: false,
processData: false
});
//e.preventDefault();
return false;
});
Где я сделал ошибку?
Пожалуйста, помогите мне. Благодарю.
Можешь ли вы обновить вопрос с визуализированным HTML, а не с кодом шаблона, пожалуйста? –
Как мне это сделать? Я использую AJAX, так что это будет полезно? –
Осмотрите '.tab-content' и разместите его здесь! –