Page 1 sur 2

Rechargement div en javascript

Posté : 02 mars 2017, 21:45
par Lemimile
Bonjour,

Je suis assez débutant en javascript et je fais un site ou j'affiche plusieurs div superposées et je passe d'une div à l'autre grace à du javascript qui marche.
A présent quand j'affiche un div particulier, je souhaite que le contenu relise des variables javascript qui ont récemment changé dans un autre div.

J'ai essayé tout plein de commande, mais aucune ne marche, voici mon code:
la fonction "display marche", c'est le code ensuite qui ne marche pas (il ne donne aucun effet)

// Function Display and load div
function displayAndLoad(id)
{
display(id);

alert ("Before Load Current Page= " + CurrentPage + " " + id);
// NOK document.load(true);
// NOK window.location.load(true);
// NOK document.getElementById(id).load(false);
// NOK document.getElementById(id).load();
document.getElementById(id).load(true);
alert ("After Load Current Page= " + CurrentPage + " " + id);
}


Quelqu'un aurait-il une idée ou une piste?

merci pour votre aide

Re: Rechargement div en javascript

Posté : 02 mars 2017, 21:56
par webmaster
Bonjour,

Je ne comprends pas bien ce qu'est sensé faire document.load()

Il faudrait le code html des div également pour mieux comprendre

Re: Rechargement div en javascript

Posté : 02 mars 2017, 22:01
par Lemimile
Merci de prendre ce temps pour lm'aider!

En fait dans ma div (id), j'ai des affichage qui sont fonction de variable qui chagent au cours de la vie de mon site.

Le but que je recherche avec le document.load(), c'est d'ctualisé l'affichage avec la valeur actuelle des variables en cours.

Et donc, je pensais qu'un load permettrait d'obtenir cet effet, mais rien ne se passe!

Re: Rechargement div en javascript

Posté : 02 mars 2017, 22:05
par Lemimile
Voici le code la div:

<script type="text/javascript">

document.write ("CP " + CurrentPage + " ");
document.write ( "arrVariable 0 0 " + arrVariable[0][0] + " ");
document.write ( "arrVariable 0 1 " + arrVariable[0][1] + " ");
document.write ( "arrVariable 0 2 " + arrVariable[0][2]);

// alert(arrVariable[0][0] + " " + arrVariable[0][1] + " " + arrVariable[0][2]);

if (arrVariable[0][0] == "OK0")
{

document.write ("OK");

} else
{
document.write ("NOK");
}

</script>
<a> <span class=\"bouton\" id=\"Reponse0\" onClick=\"javascript:displaySetAndLoadPage ( arrIndexP[CurrentPage][0] );\"> Reponse0 </span></a>
<a> <span class=\"bouton\" id=\"Reponse1\" onClick=\"javascript:displaySetAndLoadPage ( arrIndexP[CurrentPage][1] );\"> Reponse1 </span></a>");

<a> <span class=\"bouton\" id=\"Status0\" onClick=\"javascript:alert(arrVariable[0][0] + &#34 &#34 + arrVariable[0][1] + &#34 &#34 + arrVariable[0][2]);\"> Status </span></a>

Re: Rechargement div en javascript

Posté : 02 mars 2017, 22:20
par webmaster
Je ne connais pas load()
C'est l'occasion que je regarde à quoi il sert exactement

Pour changer le contenu d'un div une fois que la page est chargée, il faut passer par innerHTML

Code : Tout sélectionner

document.getElementById("monDiv").innerHTML  = "NOUVEAU CONTENU"
PS : j'ai justement écrit un nouveau tuto pour remplacer les alert() de débug par l'utilisation de console.log()
C'est bien plus pratique car on a l'historique de tous les affichages
http://www.toutjavascript.com/savoir/na ... script.php

Re: Rechargement div en javascript

Posté : 02 mars 2017, 22:31
par Lemimile
Merci j'ai testé innerHTML,

Oui ça marche pour forcer du texte par exemple

mais mon problème est que
ma page est complexe et que je n'ai pas dans mes fonctions display le nouveau contenu.

En fait le nouveau contenu est programmé dans mon html et change en fonction de variable positionné par ailleurs.

Re: Rechargement div en javascript

Posté : 02 mars 2017, 22:36
par webmaster
Je propose de lancer un timer pour exécuter un traitement un peu plus tard avec setTimeout() éventuellement plusieurs fois pour être sur que les traitements sont finis

http://www.toutjavascript.com/reference ... imeout.php

Re: Rechargement div en javascript

Posté : 02 mars 2017, 22:47
par Lemimile
Je ne comprends pas la proposition.

Les traitements sont terminés car ils consistent juste à chager le contenu de variable.

C'est l'affichage qui prend en compte ces nouvelles valeurs de variable qui ne se fait pas car la page n'est pas recalculée.

dans mon div, je voudrais que ce code soit ré-exécuté quand je décide d'afficher ce div

f (arrVariable[0][0] == "OK0")
{

document.write ("OK");

} else
{
document.write ("NOK");
}

Dans mon cas, c'est l'affichage calculé au départ quei reste.

Re: Rechargement div en javascript

Posté : 02 mars 2017, 23:09
par Lemimile
je fais une pause .... pour dormir ..

Re: Rechargement div en javascript

Posté : 03 mars 2017, 06:53
par Lemimile
Le code est du javascript qui évalue une variable et qui affiche des choses différentes suivant la valeur

if (arrVariable[0][0] == "OK0") {
document.write ("OK");
} else {
document.write ("NOK");
}