Member 11063279 Ответов: 1

Submit вернется на ту же вкладку


у меня есть разные вкладки на моей странице PHP. У меня есть каждая форма на каждой вкладке. Теперь я хочу отправить форму. Но когда я отправляю форму, она переходит на первую вкладку. Я просто хочу, чтобы он оставался на той же вкладке, откуда его отправляют, но это никогда не происходит. Пожалуйста, помогите мне,,
код приведен ниже...


<html>
<head>
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.js"></script>
	<script type="text/javascript">
		$(function(){
			$("#tab-container").on("click", ".tab-lbl", function(){
				var that = $(this);
				var tabid = that.data("tab");
				
				$(".tab").each(function(k, v){
					$(this).hide();
				});
				
				$(tabid).show();
			});
		});
	</script>
</head>
 
<body>
 
<div id="header">
	<div class="logo"><a href="#"><span>TAJWEED</span></a></div>
</div>
 
<div id="container">
   <div class="sidebar">
       <div id="nav">
       <ul id="tab-container">
       	<li><a href="#" class="selected tab-lbl" data-tab="#tab-dashboard">Dashboard</a></li>
       	<li><a href="#" class="tab-lbl" data-tab="#tab-menu">Menue</a></li>
       	<li><a href="#" class="tab-lbl" data-tab="#tab-slider">Slider</a></li>
       	<li><a href="#" class="tab-lbl" data-tab="#tab-gallery">Gallery</a></li>
       	<li><a href="#" class="tab-lbl" data-tab="#tab-pictures">Pictures</a></li>
 
       </ul>
   	
       </div>
	
   </div>
   <div class="content">
		
		<div id="tab-menu" class="tab" style="display: none;">

  <?php

$connection = new mysqli('localhost','root','','Tajweed');// Establishing Connection with Server

if(isset($_POST['submitv'])){ // Fetching variables of the form which travels in URL
$name = $_POST['pname'];
$email = $_POST['plink'];


//Insert Query of SQL
$sql=$connection->query("INSERT INTO main_page(pname, plink) values ('$name', '$email')");



}
?>
    
<form name="myForm" action="admin.php" method="POST" onsubmit=" return validateForm()" >
Page Name: <input  placeholder="page name :" name="pname" type="text"  />
Page Link: <input type="text" placeholder="Page Link :" name="plink" />
<input type="submit" value="submit"  name="submitv">
</form>






</div>
		<div id="tab-slider" class="tab" style="display: none;">


  <?php

$connection = new mysqli('localhost','root','','Tajweed');// Establishing Connection with Server

if(isset($_POST['submitv'])){ // Fetching variables of the form which travels in URL
$name = $_POST['pname'];
$email = $_POST['plink'];


//Insert Query of SQL
$sql=$connection->query("INSERT INTO main_page(pname, plink) values ('$name', '$email')");



}
?>
    
<form name="myForm" action="admin.php" method="POST" onsubmit=" return validateForm()" >
Page Name: <input  placeholder="page name :" name="pname" type="text"  />
Page Link: <input type="text" placeholder="Page Link :" name="plink" />
<input type="submit" value="submit"  name="submitv">
</form>






</div>
		<div id="tab-gallery" class="tab" style="display: none;"><h1>Gallery</h1></div>
		<div id="tab-pictures" class="tab" style="display: none;"><h1>Pictures</h1></div>
</div>
 
</body>
</html>
</div>


Что я уже пробовал:

Я пробовал другой код, но все было напрасно. Пожалуйста, помогите мне решить эту проблему.

Nathan Minier

Вы можете добавить скрытый элемент с текущим табидом, добавить этот табид в тело сообщения, записать это поле на страницу обратной записи в PHP и перенести табуляцию в функцию, которая может быть вызвана при загрузке страницы.

Или вы можете использовать AJAX.

1 Ответов

Рейтинг:
7

W∴ Balboos, GHB

Лучший способ внести изменения на странице, не испортив остальную часть страницы, - это использовать АЯКС[^].

Вместо того чтобы позволять форме читать и отправлять входные значения для вас, используйте DOM для чтения их для отправки AJAX.

Это дополнительная работа по сравнению с отправкой формы, но она позволяет вам проверить каждую запись перед отправкой (хорошая идея, не так ли?).

Как только вы привыкнете использовать AJAX-вызов php, вы обнаружите, что все это едва ли доставляет больше хлопот, чем HTML-форма.