Probleme etrange html/javascript/php

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

shelcko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Lun Jan 01, 2007 23:31

Probleme etrange html/javascript/php

Message le Jeu Juin 28, 2007 6:45

Bonjour,
Dans l'appli que je suis en train de créer je tombe sur un os.
J'ai fais un ptit script en javascript qui fonctionne nickel (durant mes testes).
Il utilise des champs de formulaire cachés . Et c'est la que ça coince.
Car en fait durant mes testes j'avais mis des valeur numériques pour le debuggage et tout allait bien. Mais l'utilité de ce script et de récupérer des variables php venant d'une BDD et donc j'y met mes variables ça ne fonctionne plus.
Je précise que mes variables sont bonnes et qu'en plus si l'on regarde le code source on voit en clair mes valeurs venant de la BDD.
Donc si vous avez une idée je suis preneur.


Kaliiii
WRInaute passionné
WRInaute passionné
 
Messages: 595
Inscription: Mer Mar 02, 2005 11:33

Message le Jeu Juin 28, 2007 7:39

Peut etre une simple erreur de synthaxe non ?

On peut voir le code ? sinon on va pas pouvoir aider ...

shelcko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Lun Jan 01, 2007 23:31

Message le Jeu Juin 28, 2007 8:30

Voici le code de mon script:
Code: Tout sélectionner
<SCRIPT LANGUAGE="javascript">

function traiter(){
var quantite=document.calculprix.quantite.value;
var quantite1=document.calculprix.quantite1.value;
var quantite2=document.calculprix.quantite2.value;
var quantite3=document.calculprix.quantite3.value;
var quantite4=document.calculprix.quantite4.value;
var quantite5=document.calculprix.quantite5.value;
var quantite6=document.calculprix.quantite6.value;
var prix1=document.calculprix.prix1.value;
var prix2=document.calculprix.prix2.value;
var prix3=document.calculprix.prix3.value;
var prix4=document.calculprix.prix4.value;
var prix5=document.calculprix.prix5.value;
var prix6=document.calculprix.prix6.value;

if((quantite > quantite1) && (quantite < quantite2)){
  document.calculprix.prix.value=prix1;
}
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>


mes champs cachés :
Code: Tout sélectionner
<input type="hidden" name="quantite1" value="<?php echo $data['quantite1']; ?>">
<input type="hidden" name="quantite2" value="<?php echo $data['quantite2']; ?>">
<input type="hidden" name="quantite3" value="<?php echo $data['quantite3']; ?>">
<input type="hidden" name="quantite4" value="<?php echo $data['quantite4']; ?>">
<input type="hidden" name="quantite5" value="<?php echo $data['quantite5']; ?>">
<input type="hidden" name="quantite6" value="<?php echo $data['quantite6']; ?>">
<input type="hidden" name="prix1" value="<?php echo $data['prix1']; ?>">
<input type="hidden" name="prix2" value="<?php echo $data['prix2']; ?>">
<input type="hidden" name="prix3" value="<?php echo $data['prix3']; ?>">
<input type="hidden" name="prix4" value="<?php echo $data['prix4']; ?>">
<input type="hidden" name="prix5" value="<?php echo $data['prix5']; ?>">
<input type="hidden" name="prix6" value="<?php echo $data['prix6']; ?>">


mon champ de saisie :
Code: Tout sélectionner
<input type="text" name="quantite" onchange="traiter();">


et le champ d'affichage :
Code: Tout sélectionner
<td><input type="text" name="prix">


Tous mes champs de formulaire sont dans un formulaire nomé calculprix.

Mais ce qui me fais bizar c'est que si tu remplace les <?php $data['...']; ?> pas des valeur numérique le script fonctionne.Et que si tu regarde le source ces variables sont des identités numériques.

Mes champs de saisie étaient au début en des balises php (donc avec les variables adaptées) et je les ai sorties pour voir si ça changeait quelque chose mais non en fait.

JPC
WRInaute passionné
WRInaute passionné
 
Messages: 565
Inscription: Lun Juin 02, 2003 10:19

Message le Jeu Juin 28, 2007 9:17

bonjour,

déjà, tu devrais utiliser des id="" et des document.getElementById('') plutot que d'appeler les elements par leur nom, et tu ne traite pas les cas ou quantite vaut exactement quantite2, quantite 3 etc, ni <=quantite1...

si une de tes valeurs n'est pas renseignée, tu vas te prendre une erreur javascript, il faudrait voir quelle erreur tu obtiens dans ton test...

hormis ces cas (quantite= quantite1 ou 2 ou 3 etc et toutes les valeurs renseignées) , ça devrait fonctionner si ton formulaire a bien name="calculprix"


julienr
WRInaute passionné
WRInaute passionné
 
Messages: 865
Inscription: Mar Aoû 05, 2003 14:49

Message le Jeu Juin 28, 2007 10:10

regarde peut être du coté de parseFloat() parseInt() pour caster ta value qui doit être du type String

shelcko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Lun Jan 01, 2007 23:31

Message le Jeu Juin 28, 2007 10:44

le probleme est que le script ne veut pas de mes valeurs php .
Pour les conseils sur les autres points je vous remercie mais rien n'est débuggé encore.

bozoleclown
WRInaute passionné
WRInaute passionné
 
Messages: 893
Inscription: Jeu Nov 24, 2005 19:08

Message le Jeu Juin 28, 2007 11:23

et en enlevant les ' ' ?

en gros passer de
<?php echo $data['quantite1']; ?>
à
<?php echo $data[quantite1]; ?>

NextGeneration
WRInaute impliqué
WRInaute impliqué
 
Messages: 425
Inscription: Mer Sep 27, 2006 18:34

Message le Jeu Juin 28, 2007 12:02

bozoleclown a écrit:et en enlevant les ' ' ?

en gros passer de
<?php echo $data['quantite1']; ?>
à
<?php echo $data[quantite1]; ?>


Ca va faire :

Notice : undefined constant quantite1, assumed 'quantite1'

Ce qui veut dire que t'utilises une constante quantite1 que tu n'as pas définie, et comme php comprend que tu sais pas coder, il corrige à ta place.

Autre exemple :

echo Hello . "World" . '!!!' , hahahaha;

La syntaxe est pourrie, c'est faux, mais ça passe quand meme. Merci php

shelcko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Lun Jan 01, 2007 23:31

Message le Jeu Juin 28, 2007 12:08

Il faut croire que mon php ne veut pas m'aider car ça ne fonctionne pas lol
Mais bon si le developpement web commence a devenir une question de chance je vais me faire marabou :wink:

Jaunalgi
WRInaute impliqué
WRInaute impliqué
 
Messages: 293
Inscription: Mer Aoû 11, 2004 11:05

Message le Jeu Juin 28, 2007 12:16

Sinon, essaye la bonne vieille méthode: tu mets tes valeurs en numérique dans tes champs et tu remplaces 1 à 1 par son équivalent PHP, pour voir si ça bloque dès le départ.
Vérifie que tu n'ai pas d'espace et que tes valeurs soient biens considérées comme des entiers.

shelcko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Lun Jan 01, 2007 23:31

Message le Jeu Juin 28, 2007 12:28

Merci tu viens de me faire comprendre pourquoi ça ne marchait pas.
Mes nombres sont des réels et pas des entiers.
Et comme j'ai pas testé avec des nombres réels au départ je comprenais pas .
Encore merci à tous et surtout à toi Jaunalgi

bozoleclown
WRInaute passionné
WRInaute passionné
 
Messages: 893
Inscription: Jeu Nov 24, 2005 19:08

Message le Jeu Juin 28, 2007 12:37

et si tu faisais un var_dump($data);

tu pourrais voir ce qu'il y a dedans et s'il y a bien une valeur à la référence prix1..6 et quantite1..6


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités