1

I have following code for Navigation. I also have london.php, tokyo.php page created.

How do I show those .php pages to user when respective tabs are clicked?

This example was taken from W3School

<html>
<title>W3.CSS</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<body>

<div class="w3-container">
  <h2>Active Tabs</h2>
  <p>To highlight the current tab/page the user is on, add a color class, and use JavaScript to update the active link.</p>

  <div class="w3-bar w3-black">
    <button class="w3-bar-item w3-button tablink w3-red" onclick="openCity(event,'London')">London</button>
    <button class="w3-bar-item w3-button tablink" onclick="openCity(event,'Paris')">Paris</button>
    <button class="w3-bar-item w3-button tablink" onclick="openCity(event,'Tokyo')">Tokyo</button>
  </div>
  
  <div id="London" class="w3-container w3-border city">
    <h2>London</h2>
    <p>London is the capital city of England.</p>
  </div>

  <div id="Paris" class="w3-container w3-border city" style="display:none">
    <h2>Paris</h2>
    <p>Paris is the capital of France.</p> 
  </div>

  <div id="Tokyo" class="w3-container w3-border city" style="display:none">
    <h2>Tokyo</h2>
    <p>Tokyo is the capital of Japan.</p>
  </div>
</div>

<script>
function openCity(evt, cityName) {
  var i, x, tablinks;
  x = document.getElementsByClassName("city");
  for (i = 0; i < x.length; i++) {
    x[i].style.display = "none";
  }
  tablinks = document.getElementsByClassName("tablink");
  for (i = 0; i < x.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" w3-red", "");
  }
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " w3-red";
}
zie
  • 11
  • 1
  • 1
    hope this link will solve your issue https://stackoverflow.com/questions/2112373/php-page-redirect – Merrin K Jan 02 '21 at 06:59

1 Answers1

0
  1. Add data attribute to each tab:

    <button class="tablink" data-tab="london">London</button> <button class="tablink" data-tab="paris" >Paris</button> <button class="tablink" data-tab="tokyo">Tokyo</button>
    
  2. You need to send ajax requests by clicking on tabs:

    $(".tablink").click(function(){
        let tab = $(this).data("tab");
        $.ajax({
            url: "path/to/files"+tab+".php",
            type:"GET",
            success: function (response) {
                $("." + tab).html(response);
            }
        });
    });
    
Pang
  • 9,564
  • 146
  • 81
  • 122
  • Hello, I am sorry, I am a newbie. I copied and pasted the above code. Unfortunately, it doesn't do anything. any other help would be appreciated. – zie Jan 03 '21 at 06:24