Rechargement div en javascript

Pour toutes les discussions javascript, jQuery et autres frameworks
Lemimile
Messages : 7
Enregistré le : 02 mars 2017, 21:26

Rechargement div en javascript

Message par Lemimile » 02 mars 2017, 21:45

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

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: Rechargement div en javascript

Message par webmaster » 02 mars 2017, 21:56

Bonjour,

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

Il faudrait le code html des div également pour mieux comprendre
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Lemimile
Messages : 7
Enregistré le : 02 mars 2017, 21:26

Re: Rechargement div en javascript

Message par Lemimile » 02 mars 2017, 22:01

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!

Lemimile
Messages : 7
Enregistré le : 02 mars 2017, 21:26

Re: Rechargement div en javascript

Message par Lemimile » 02 mars 2017, 22:05

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>

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: Rechargement div en javascript

Message par webmaster » 02 mars 2017, 22:20

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
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Lemimile
Messages : 7
Enregistré le : 02 mars 2017, 21:26

Re: Rechargement div en javascript

Message par Lemimile » 02 mars 2017, 22:31

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.

Avatar du membre
webmaster
Administrateur du site
Messages : 563
Enregistré le : 28 févr. 2017, 15:19

Re: Rechargement div en javascript

Message par webmaster » 02 mars 2017, 22:36

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
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Lemimile
Messages : 7
Enregistré le : 02 mars 2017, 21:26

Re: Rechargement div en javascript

Message par Lemimile » 02 mars 2017, 22:47

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.

Lemimile
Messages : 7
Enregistré le : 02 mars 2017, 21:26

Re: Rechargement div en javascript

Message par Lemimile » 02 mars 2017, 23:09

je fais une pause .... pour dormir ..

Lemimile
Messages : 7
Enregistré le : 02 mars 2017, 21:26

Re: Rechargement div en javascript

Message par Lemimile » 03 mars 2017, 06:53

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");
}

Répondre