У меня есть веб-страница с несколькими вкладками, некоторые с формами. При успешной отправке любой формы я перезагружаю страницу, но она продолжает переходить на первую вкладку по умолчанию. Я пытаюсь установить переменную хранилища, чтобы облегчить переключение, если она загружается в первый раз (откройте вкладку по умолчанию) или загружается с помощью отправки формы (передайте идентификатор этой вкладки как переменную и загрузите ее при перезагрузке)
Как я могу успешно перезагрузить указанную c вкладку?
Ниже приведена функция отправки формы с ajax Я звоню
//submit all forms on page
const submitForm = (formID, targetTab) => {
let theForm = document.getElementById(formID);
//function will determine whichform is being passed and send data to PHP page
//on reload trying to detect current tab and load to that location
$.ajax({
type: 'POST',
url: $(theForm).attr("action"),
data: $(theForm).serialize(),
success: function (response) {
location.reload()
initFunction(targetTab)
}
});
}
Это функция, которая обрабатывает вкладку чтобы перезагрузить, я называю это изначально при загрузке страницы, вот в чем проблема?
const initFunction = (tab) => {
let reloading = sessionStorage.getItem("reloading");
if (!reloading) {
document.getElementById(tab).click();
sessionStorage.setItem("reloading", 'true');
} else {
document.getElementById(tab).click();
}
};
//clicks on default first tab
window.onload = initFunction('defaultOpen');
Вот пример моих кнопок вкладки навигации и одной из кнопок отправки формы
//nav
<li class="nav-item">
<a class="nav-link bg-primary tabLink text-white" href="#" id="defaultOpen"
onclick="changeTab(event, 'companytab')">
<i class="fa fa-building"></i> Company</a>
</li>
<li class="nav-item ">
<a class="nav-link bg-primary tabLink text-white" href="#"
onclick="changeTab(event, 'contacttab')" id="contacttabbtn">
<i class="fa fa-user"></i> Contacts</a>
</li>
//button
<button onclick="submitForm('updateProspect', 'defaultOpen')"
id="saveBtn"class="float-right d-none btn btn-sm btn-success"><i class="fa fa-save">
</i> Save
</button>
Спасибо!