28106 sujets

CSS et mise en forme, CSS3

bonjour à tous

j'ai réussie à trouver une fenêtre modal avec un menu incorporé mais malheureusement il affiche du texte alors que j'ai besoin d'afficher du php.

  <ul class="pagination white border-bottom" style="width:100%;">
        <li><a href="#" class="tablink" onclick="openCity(event, 'Tokyo')">Tokyo</a></li>
  </ul>
  <div id="Tokyo" class="container city">
   <h1>Tokyo</h1>
   <p>Tokyo is the capital of Japan.</p><br>
  </div>

et voici ce que j' essaye d'insérer sans succès

                <?php include '../Tokyo.php';?>


si quelqu'un à une idée je suis preneur Smiley biggrin et le remercie d'avance
Modérateur
Bonjour,

La fonction openCity() est du javascript exécuté dans la navigateur. Le code php, lui, est exécuté par le serveur.

Une possibilité serait, avant l'appel à openCity(), de faire une requête ajax au serveur qui exécutera le script Tokyo.php et renverra le résultat au navigateur. Il suffira ensuite, à la réception du résultat, d'exécuter la fonction openCity() avec ce résultat (qui a priori pourrait être du code html) en paramètre.

On peut aussi bien sûr tout faire dans la fonction openCity().

Amicalement,
merci de me répondre parsimonhi

l'ajax, j'en ai entendu quelque fois parler,

Une possibilité serait, avant l'appel à openCity(), de faire une requête ajax au serveur qui exécutera le script Tokyo.php et renverra le résultat au navigateur. Il suffira ensuite, à la réception du résultat, d'exécuter la fonction openCity() avec ce résultat (qui a priori pourrait être du code html) en paramètre.

pour moi c'est du chinois Smiley decu

le php je le comprend pas et l'ai toujours évité mais là je ne vois pas comment faire autrement et je ne sais pas comment faire la recherche sur .qwant.com .Peut tu si je met mon code me filer un gros coup de main ?

<script>
document.getElementsByClassName("tablink")[0].click();

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].classList.remove("light-grey");
  }
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.classList.add("light-grey");
}
</script>

merci d'avance Smiley smile
Modérateur
Bonjour,

Bon, en fait, ton openCity() fait quasiment rien, il ne fait que montrer/cacher le contenu relatif aux villes.

Finalement, si <?php include '../Tokyo.php';?> contient les informations relatives à la ville de Tokyo, il suffit me semble-t-il de remplacer :
<h1>Tokyo</h1>
<p>Tokyo is the capital of Japan.</p><br>

par
<?php include '../Tokyo.php';?>

Amicalement,
excuse moi d'avoir mis autant de temps à te remercier parsimonhi ta réponse marche très bien mais cela apporte 3 autres problèmes pour l'incorporer dans mes pages et je cherche les solutions, je marque le sujet comme résolu et reviendrais si je ne trouve pas Smiley smile