JeuWeb - Crée ton jeu par navigateur
[Réglé] problème javascript - 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 : [Réglé] problème javascript (/showthread.php?tid=1124)

Pages : 1 2


[Réglé] problème javascript - max - 28-04-2007

bonjour, et oui pour changer ca ne sera pas un problème php mais un problème de JS que je vais présenter ici (petit dépaysement ^^)
j'essaye donc de me mettre au JS pour dynamiser un peu mon site (tjr en création :heuuuSmile mais je débute... je débute...
donc ici, je cherche a afficher le cou d'une recherche en fonction du nombre d'heure pendant lesquelles on veut chercher et je veu que le joueur puisse voir le cout de la recherche avant de cliquer sur commencer (ca évite les mauvaises surprises mdr)
je vous montre donc un debut de script allant dans ce sens:

Code PHP :
<?php 
<script language="javascript">
function
remplace(text,texte,metal,cristal)
{
document.getElementById(metal).innerHTML=text;
document.getElementById(cristal).innerHTML=texte;
}
</
script>
rechercher:
<
input type="text" name="metal" size="1" onChange="remplace('cout metal:'+this.value*2000,'cout cristal:'+this.value*2500, 'metal','cristal')">heure<br/><br/>
<
div id="metal">cout metal:</div>
<
div id="cristal">cout cristal:</div>


ce script marche, pas de problème. par contre ce que je voudrais c'est pouvoir faire mes calculs dans la fonction JS, pas dans le input --> "<input type="text" name="metal" size="1" onChange="remplace('cout metal:'+this.value*2000,'cout cristal:'+this.value*2500, 'metal','cristal')">"

mais je ne vois pas bien comment faire... je l'ai dit je débute ^^
si vous avez des idées ou des optimisations je suis preneur
merci d'avance

[Modération] Ajout de la mention [Réglé]


RE: problème javascript - Maks - 28-04-2007

Salut,

<form name='Form' method='' action=''>

en donnant un nom à ton formulaire tu peux utiliser document.Form.metal.value pour recupérer this.value et à toi de faire la multiplication par la suite dans ta fonction Smile


RE: problème javascript - max - 28-04-2007

merci
j'ai testé cette technique mais il y a un problème, ca ne se fait pas en temps réel (réactualisation de la page a cause du post)
c'est possible de rester dans le "temps réel"? c'est a dire sans passer par une réactualisation

merci d'avance ^^


RE: problème javascript - Raoull - 29-04-2007

Code PHP :
<?php 
<script language="javascript">
function
remplace(val)
{
         var metal = val*2000;
         var cristal = val*2500;
         document.getElementById('metal').innerHTML='cout metal:' + metal;
         document.getElementById('cristal').innerHTML='cout cristal:' + cristal;
}
</
script>
rechercher:
<
input type="text" name="metal" size="1" onChange="remplace(this.value)">heure<br/><br/>
<
div id="metal">cout metal:</div>
<
div id="cristal">cout cristal:</div>

un truc comme ca


RE: problème javascript - max - 29-04-2007

mrc pour la réponse!
voila maintenant mon script :
Code PHP :
<?php 
<html>
<
head>
<
meta http-equiv="content-type" content="text/html; charset=windows-1250">
<
meta name="generator" content="PSPad editor, www.pspad.com">
<
title></title>
<
script language="javascript">
function
remplace()
{
var
temps = document.getElementById('temps').value;
var
durer=temps*3600;
var
metal=temps*2000;
var
cristal=temps*2500;
var
carbu=temps*500;
var
azarite=temps*0;
document.getElementById('durer').innerHTML = "durée:"+ durer+"secondes";
document.getElementById('metal').innerHTML = "Cout metal:"+ metal;
document.getElementById('cristal').innerHTML = "Cout cristal:"+ cristal;
document.getElementById('carbu').innerHTML = "Cout carburant:"+ carbu;
document.getElementById('azarite').innerHTML = "Cout azarite:"+ azarite;
}
</
script>
</
head>
<
body>

<
form>
<
input id="temps" type="text" name="metal" size="1" onChange="remplace();">heure<br/><br/>
<
div id="durer">durée:</div>
<
div id="metal">Cout metal:</div>
<
div id="cristal">Cout cristal:</div>
<
div id="carbu">Cout carburant:</div>
<
div id="azarite">Cout azarite:</div>
</
form>
</
body>
</
html>

mais.... (oui je suis chiant ^^) je me demande, comment vous feriez vous pour répéter x fois ce script?
par exemple, disons que je veuille répéter ce script 3 fois avec un for, vous pouvez me donner un petit exemple svp? j'ai essayé mais ca me sort souvent NaN (not a number ^^) ou alors plus simple, ca ne fait rien du tout...
j'ai mis for($a=0;$a>2;$a++) puis <? echo $a;?> derrière chaque variable JS et après les noms des id mais aparament ca ne marche pas

merci de votre aide Wink


RE: problème javascript - jo_link_noir - 29-04-2007




RE: problème javascript - max - 30-04-2007

héhéhé le JS pas mal codé c'est moi ^^ content mdr
par contre le php beurk t'aurais des exemples pour nous aider a changer ce qui ne va pas?
merci


RE: problème javascript - jo_link_noir - 01-05-2007

le php aussi :ange:

j'ai modifier un petit truc, quand le prix pour une ressource est de zéro, on affiche pas le coût pour ce type de ressource
vous en pensez quoi ?

http://90plan.ovh.net/~sunwars/test_recherches.php

par contre il y a un problème on est obligé d'enlever le curseur pour pouvoir faire fonctionner le JS...


RE: problème javascript - nemesis_elite - 01-05-2007

Bonjour à tous

Peut être avec onKeyUp à la place de onChange
non ?

a ++


RE: problème javascript - jo_link_noir - 02-05-2007

ouai ça marche, merci beaucoup