JeuWeb - Crée ton jeu par navigateur
Affichage d'une variable dans la page - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Affichage d'une variable dans la page (/showthread.php?tid=532)



Affichage d'une variable dans la page - rragnarok - 14-03-2008

bonjour les amis,

voila, je m arrache les cheveux avec un simple affichage de variables.
je selectionne deux valeurs, j 'en fais la somme dans une fonction JS
et je voudrais afficher le resultat.

mais j y arrive pas.... ( l affichage du resultat)

la fonction php du select:
Code :
<SELECT onChange='fonction_1(this.value)'>
<?php
for($i=-3;$i<21;$i++)
{
if ($i == 0) {$selection="selected";} else {$selection="";}
echo '<option '.$selection.' value='.$i.'>'.$i.'</option>';
}
?>
</SELECT>

<SELECT onChange='fonction_2(this.value)'>
<?php
for($i=-3;$i<21;$i++)
{
if ($i == 0) {$selection="selected";} else {$selection="";}
echo '<option '.$selection.' value='.$i.'>'.$i.'</option>';
}
?>
</SELECT>



les fonctions JS
Code :
function fonction_1(value)
{
var_1 = value;
fonction__somme_1_2();
}

function fonction_2(value)
{
var_2 = value;
fonction__somme_1_2();
}


function fonction__somme_1_2()
{
somme_1_2=((var_1)+(var_2)) ;
}

et le code de la page qui affiche:
Code :
<div id="resultat">
<script type="text/javascript">document.write(somme_1_2);</script></div id="resultat">

et la somme devrait changer dès que je change la valeur d'un select, comme dans une page que j ai fait.
mais j arrive pas à l 'exporter dans l autre site.

http://crom.celeonet.fr/fan07/


voila voila...

alors j ai pas mis tous les essais... mais bon j ai trituré dans tous les sens.
si vous avez une solution...

merci les amis.


eric


RE: affichage d une variable js dans page html - Belsion - 14-03-2008

Une fois que tu as calculé ta somme, il faut encore modifier ton affichage, ce qui n'est pas le cas ici.

Ton document.write ne sera fait qu'au chargement de la page et pas à chaque changement d'une de tes 2 valeurs.


RE: affichage d une variable js dans page html - gobes - 14-03-2008

Comme le dit Belsion, ton document.write n'est évalué qu'au chargement de la page; du coup tu perds (presque) tout l'intérêt du javascript.

Apparemment il suffirait que tu remplace cette partie:
Code :
<div id="resultat"><script type="text/javascript">document.write(somme_1_2);</script></div id="resultat">

Par:
Code :
<div id="resultat"><script type="text/javascript"><span id="resultat_valeur"></span></script></div id="resultat">

Et la fonction js fonction__somme_1_2() par:
Code :
function fonction__somme_1_2()
{
document.getElementById('resultat_valeur').value=(var_1)+(var_2) ;
}
Ou un truc du genre. Comme ça, tu va remplacer la valeur de la balise d'id 'resultat_valeur' par ta somme. Après y'aurait peut-être moyen d'optimiser ton code js, mais je sais pas ce que tu fais par la suite; et tant que ça marche comme ça...


RE: affichage d une variable js dans page html - rragnarok - 14-03-2008

merci,

je pense que c est le bon chemin, je savais pas pour les span, ni qu on pouvait donner une valeur id dans une fonction javascript.

je m etais arreté à la valeur id dans la balise select.

on est sur la route...

mmais comme ca, ton code ne marche pas.
c est le getelementbyid dans la fonction js qui bloque...
je vais chercher pour voir s il y a une syntaxe differente...

merci pour votre reponse neanmoins!

eric


RE: affichage d une variable js dans page html - Belsion - 14-03-2008

faut faire bien attention aux majuscules et minuscules, une seule erreur et il ne reconnaîtra pas la fonction: "getElementById"
Sinon pour le span, il me semble que c'est la propriété innerHTML qu'il faut utiliser

document.getElementById('resultat_valeur').innerHTML = (var_1)+(var_2)


RE: affichage d une variable js dans page html - Eluox - 14-03-2008

value : pour les type du genre input de texte ect
innerhtml : entre des balises ( span, div ect )


RE: affichage d une variable js dans page html - gobes - 14-03-2008

Tout à fait...

* gobes court se pendre :toilette: (oui oui, je me noie en me pendant)


RE: affichage d une variable js dans page html - rragnarok - 15-03-2008

bon, en faisant le tour de plusieurs forums et en compilant les reponses, je suis arrivé a ceci qui marche:

le select marche bien

le js aussi:

<code>


function select_var1(value)
{
var var1=value;
fonction_somme();
}

function select_var2(value)
{
var var2=value;
fonction_somme();
}


somme="somme";
function fonction_somme()
{
document.getElementById(somme).innerHTML=var1 + var2;
}

</code>

et j affiche la somme dans un span dans l'html

<code>
<div id="resultat"><span id="somme"></span></div id="resultat">
</code>



et ca marche.

merci!!

eric


RE: affichage d une variable js dans page html - Mysterarts - 16-03-2008

Si tout fonctionne, pensez au tag [RESOLU] devant le titre de votre sujet, merci !

Mysterarts