Как отобразить содержимое вкладки при нажатии кнопки - PullRequest
0 голосов
/ 28 октября 2010

У меня есть страница, home.php.На странице у меня есть вкладки CSS tab1 и tab2.Вкладки находятся на одной странице, а не на разных.Я хочу, чтобы содержимое tab2 отображалось всякий раз, когда я нажимаю кнопку отправки в содержимом tab2, а не возвращает меня к tab1.Как я могу использовать JavaScript для реализации этого поведения?

<html>
<head>
<title>home</title>
</head>
<link href="SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
<body>
<ul class="TabbedPanelsTabGroup">
<li class="TabbedPanelsTab" tabindex="0">Tab1</li>
<li class="TabbedPanelsTab" tabindex="0">Tab2</li>
</ul>

<div class="TabbedPanelsContentGroup">

<div class="TabbedPanelsContent">
//this is where the content of the tab1 will be and i have another form in this content too

</div>

<div class="TabbedPanelsContent">
//this is where the content of the tab2 will be
<form action="home.php" method="post">
<?php
if (isset($_POST['submit'])) {
if(empty($_POST['boded']){
echo"Please do it again.";
}else{
 $mgs = ($_POST['boded']);
 //then insert to my database   
}
?>
<textarea id="message" name="boded" rows="5" cols="40"></textarea>
<input type="submit" name="submit" value="Submit" />
//if i click this button(submit) in this content it should display tab2 content not tab1
</form>
</div>

</div>
</body>
</html>

Я попробовал то, что первый человек попросил меня сделать;это работает, но возникла проблема: кнопка отправки не отправила на $_POST['submit'], если это из-за ложного в моей кнопке (<input type="submit" name="submit" value="Submit" onClick="show_content('div_2'); return false;"/>) Я падаю, я упоминаю, что в контенте tab2 у меня есть код PHP, которыйполучает кнопку отправить на него.

Выше мой отредактированный код, я буду признателен, если вы отредактируете код make.

1 Ответ

0 голосов
/ 29 октября 2010

У вас действительно есть форма, отправляющая на веб-сервер и повторно отправляющая вам информацию о странице, или кнопка отправки просто запускает функцию 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...