У вас действительно есть форма, отправляющая на веб-сервер и повторно отправляющая вам информацию о странице, или кнопка отправки просто запускает функцию javascript, и вы остаетесь на той же странице?перезагрузите содержимое страницы, затем, когда вы нажмете «Отправить», вам нужно отправить серверу ту вкладку, на которой вы были раньше, чтобы он мог внести изменения, чтобы изменить вкладку по умолчанию при отправке новой страницы.Это может включать перемещение «текущего» класса на другую вкладку или размещение display: none;
на исходной «стартовой вкладке» и display: block;
на новой.
Есть два способа сделать это.Если у вас есть одна форма на вкладку, вам просто нужно ввести <input type="hidden" name="tab" value="2" />
в вашей форме.Таким образом, когда вы отправляете форму вместе с другими значениями, она напоминает серверу, на какой вкладке вы были.Однако это не работает, если у вас есть одна форма, которая растягивается на каждой вкладке.В этом случае вы будете отправлять каждый скрытый ввод, и поскольку они имеют одинаковое имя, обычно отправляется только последнее.
Если у вас несколько форм, решение будет изменитьзначение или имя вашей кнопки <input type="submit" />
.Фактически можно проверить значение этого параметра так же, как и любой другой ввод, поэтому на стороне сервера (в данном примере в PHP) вы можете выполнить одно из следующих действий:
(changed name of input per tab):
if(isset($_POST["submit_tab2"]){
// They were on tab 2
}
(changed value):
if($_POST["submit"] == "Click here to submit tab 2!"){
// They were on tab 2
}