Probleme de variables

shelko Messages postés 67 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 27 avril 2013 - 28 juin 2007 à 16:35
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 29 juin 2007 à 06:51
Bonjour,

Je débute en javascript. Dans le cadre d'un stage je suis en train de
faire un ptit script en javascript qui fait des calcul en récupérant
des variables php dans des champs cachés.

donc voici mon script :


<SCRIPT LANGUAGE="javascript">


function traiter(){

var quantite=parseFloat(document.calculprix.quantite.value);

var quantite1=parseFloat(document.calculprix.quantite1.value);

var quantite2=parseFloat(document.calculprix.quantite2.value);

var quantite3=parseFloat(document.calculprix.quantite3.value);

var quantite4=parseFloat(document.calculprix.quantite4.value);

var quantite5=parseFloat(document.calculprix.quantite5.value);

var quantite6=parseFloat(document.calculprix.quantite6.value);

var prix1=parseFloat(document.calculprix.prix1.value);

var prix2=parseFloat(document.calculprix.prix2.value);

var prix3=parseFloat(document.calculprix.prix3.value);

var prix4=parseFloat(document.calculprix.prix4.value);

var prix5=parseFloat(document.calculprix.prix5.value);

var prix6=parseFloat(document.calculprix.prix6.value);


if((quantite > quantite1) && (quantite < quantite2)){

  document.calculprix.prix.value=parseFloat(document.calculprix.prix1.value);

}

if((quantite > quantite2) && (quantite < quantite3)){

  document.calculprix.prix.value=prix2;

}

if((quantite > quantite3) && (quantite < quantite4)){

  document.calculprix.prix.value=prix3;

}

if((quantite > quantite4) && (quantite < quantite5)){

  document.calculprix.prix.value=prix4;

}

if((quantite > quantite5) && (quantite < quantite6)){

  document.calculprix.prix.value=prix5;

}

if((quantite > quantite6) && (quantite < 100000000)){

  document.calculprix.prix.value=prix6;

}

}

</SCRIPT>


et voici mes champs:

">

">

">

">

">

">

">

">

">

">

">

">


Mon champ d'entrée:



et mon champ d'affichage:



Donc mon gros problème c'est qu'au lieu d'afficher ma variable il affiche NaN.

Donc je pense qu'il doit y avoir un probleme au niveau de la
reconnaissance de mes variables mais la ça arrive au bout de mes
capacité.

Donc si quelqu'un a un tuto ou une explication je suis preneur.

merci d'avance.

10 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 juin 2007 à 16:56
Bonjour,

    comme nous on ne peut pas deviner ce qu'il y a dans les $data['je ne sais quoi']....

    mais tu as des variables prix# du même nom que les champs ....
    j'ai mis texte pour voir, ajouté form, mis n'importe quoi dans les values..
       pffff. pas 2 fois !
    dans une question avascript, mettre la page générée,
       avec juste ce qu'il faut. pas plus, mais tout.

var prix1= parseFloat(document.calculprix.prix1a.value);
var prix2=parseFloat(document.calculprix.prix2a.value);
var prix3=parseFloat(document.calculprix.prix3a.value);
var prix4=parseFloat(document.calculprix.prix4a.value);
var prix5=parseFloat(document.calculprix.prix5a.value);
var prix6=parseFloat(document.calculprix.prix6a.value);

<form name="calculprix">
...

</form>

au fait :







o~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o 
| Avec | et mieux : <label style ="color: rgb(0, 128, 0);">Télécharger</label> | 
|~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~| 
|<label style="color: rgb(128, 0, 0);">FireFox</label> |regarder la "console d'erreurs" | FireBug
| | Outils / Console d'erreurs | | 
|~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~| 
|<label style="color: rgb(128, 0, 0);">Internet Explorer</label>|activer le deboggage : utils/options Ile Debogger IE | 
| | dans la liste, sous "Navigation" : décocher | | 
| | ° Afficher une notification de chaque erreur de script | | 
| | ° Désactiver le débogage de Scripts (autres applications)| | 
| | ° Désactiver le débogage de Scripts (Internet Explorer) | | 
o~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o



          ça aide.. un peu...




<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
28 juin 2007 à 16:59
Bonjour, je viens aussi de faire le test, et donc, l'érreur doit très probablement être dans le php, parce qu'en y mettant des valeurs numérique à la place des <?php... ?> pas de problème

il est vrais que sans le code, c'est rude ... très rude , comme le signale à chaque fois Bultez et tant d'autre.

A croire que Bultez à un modèle de message ;o)

[o-_-o]
0
shelko Messages postés 67 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 27 avril 2013
28 juin 2007 à 20:29
Désolé pour le désagrément.
En fait au lieu de me donner une valeur dans la fenetre d'affichage celà me met NaN.
J'ai essayé de mettre eval() au lieu de parsefloat() et du coup j'ai undefined .
Mais pas moyen d'avoir mes variables qui sont en faits des nombres avec décimales.
Car si je met des nombre entier le script fonctionne.
Donc je pense que j'ai du me planter à un endroit et il doit planter car il execute des operation avec des string au lieu de nombres.
Donc si vous voyez quelque chose je suis preneur .
Et si vous avez un tuto sur le fonctionnement du debugger cité plus haut je prend aussi.
Merci d'avance.
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
28 juin 2007 à 20:45
Salut
J'ai essayé de donner des valeurs aux champs hidden et ça marche, le problème doit etre de ton code php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
28 juin 2007 à 20:48
On peut voir ton array $data ?
0
shelko Messages postés 67 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 27 avril 2013
28 juin 2007 à 21:25
Le probleme c'est c'est pas un array proprement dit c'est le résultat d'une requète sql.
T'as eu une réponse en méttant des nombre à virgule ? Car chez moi c'est ça qui coince.
Car sinon ca marche.
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
28 juin 2007 à 21:27
il ne faut pas mettre des virgules mais des points
0
shelko Messages postés 67 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 27 avril 2013
28 juin 2007 à 21:31
Ce sont des points.Mais le truc qui est dingue c'est que si je regarde mon code source il y a ce qu'il faut dedans donc je pense que c'est une erreur de définition dans les variables javascript non ?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 juin 2007 à 06:41
mais enfin... vous n'avez pas vu/lu ?
je me cite :

tu as des variables prix# du même nom que les champs ....


j'ai fais :
var prix1=parseFloat(document.calculprix.prix1a.value);...
               
...
et tout baigne ( sauf si ce qu met le php est faux )



<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 juin 2007 à 06:51
<script type="text/javascript">
function traiter(){
var prix1=parseFloat(document.calculprix.prix1a.value);
var prix2=parseFloat(document.calculprix.prix2a.value);
var prix3=parseFloat(document.calculprix.prix3a.value);
var prix4=parseFloat(document.calculprix.prix4a.value);
var prix5=parseFloat(document.calculprix.prix5a.value);
var prix6=parseFloat(document.calculprix.prix6a.value);
var quantite=parseFloat(document.calculprix.quantite.value);
var quantite1=parseFloat(document.calculprix.quantite1.value);
var quantite2=parseFloat(document.calculprix.quantite2.value);
var quantite3=parseFloat(document.calculprix.quantite3.value);
var quantite4=parseFloat(document.calculprix.quantite4.value);
var quantite5=parseFloat(document.calculprix.quantite5.value);
var quantite6=parseFloat(document.calculprix.quantite6.value)
if((quantite > quantite1) && (quantite < quantite2)){
  document.calculprix.prix.value=parseFloat(document.calculprix.prix1.value);
}
if((quantite > quantite2) && (quantite < quantite3)){
  document.calculprix.prix.value=prix2;
}
if((quantite > quantite3) && (quantite < quantite4)){
  document.calculprix.prix.value=prix3;
}
if((quantite > quantite4) && (quantite < quantite5)){
  document.calculprix.prix.value=prix4;
}
if((quantite > quantite5) && (quantite < quantite6)){
  document.calculprix.prix.value=prix5;
}
if((quantite > quantite6) && (quantite < 100000000)){
  document.calculprix.prix.value=prix6;
}
}
</script>
<form name="calculprix">

</form>

sans préjuger du résultat...

>>si vous avez un tuto sur le fonctionnement du debugger :

http://www.javascriptfr.com/tutoriaux/DEBOGAGE-AVEC-INTERNET-EXPLORER_469.aspx
un début d'explication pour celui dIE.

<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0
Rejoignez-nous