Probleme etrange html/javascript/php
12 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Probleme etrange html/javascript/php
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.
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.
Voici le code de mon script:
mes champs cachés :
mon champ de saisie :
et le champ d'affichage :
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.
- 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.
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"
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"
- bozoleclown
- WRInaute passionné

- Messages: 893
- Inscription: Jeu Nov 24, 2005 19:08
et en enlevant les ' ' ?
en gros passer de
<?php echo $data['quantite1']; ?>
à
<?php echo $data[quantite1]; ?>
en gros passer de
<?php echo $data['quantite1']; ?>
à
<?php echo $data[quantite1]; ?>
- NextGeneration
- WRInaute impliqué

- Messages: 425
- Inscription: Mer Sep 27, 2006 18:34
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
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.
Vérifie que tu n'ai pas d'espace et que tes valeurs soient biens considérées comme des entiers.
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
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é

- Messages: 893
- Inscription: Jeu Nov 24, 2005 19:08
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
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
12 messages • Page 1 sur 1
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 :
- Googlebot analyse certains codes JavaScript
- Optimisation du référencement d'un site en AJAX
- Comment faire des liens en dur dans son annuaire
- API Google Maps en Flash / Flex
- Google sait désormais suivre les liens JavaScript !
- Les albums web Picasa passent à 1 Go de stockage
- Photos satellite des incendies en Grèce dans Google Earth
- Google rejoint le projet Open AJAX créé par IBM
- Google Desktop pour Mac OS X
- Redirection (PHP, JavaScript, serveur...)
Consultez la description détaillée des produits ou services de Google suivants : Google Related Links, Google Compute
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum