Variable sql à javascript

Résolu/Fermé
virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 - 8 sept. 2008 à 20:42
virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 - 8 sept. 2008 à 22:15
Bonjour à tous,

J'ai une lacune en javascript (et en programmation tout cours à vrai dire) et je suis bloqué sur un petit hic qui je pense ne fera pas peur aux monstres codeurs qu'on trouve ici :p ... j'y vais.

je voudrais simplement additionner les champs d'un formulaire mais mon problème c'est de récupérer les valeurs issues d'une base de données :


Le JS :

    <script type="text/javascript">
function addEvent(obj, evType, fn)
{
	if (obj.addEventListener)
	{
		obj.addEventListener(evType, fn, true);
		return true;
		}
		if (obj.attachEvent)
		{
		var r = obj.attachEvent("on"+evType, fn);
		return r;
		}
	return false;
}

var Combi = function(){
_self=this;
this.qte_1=document.getElementById("qte_1");
this.qte_2=document.getElementById("qte_2");
this.qte_3=document.getElementById("qte_3");


this.montant_1=document.getElementById("<?php echo $bb['montant_1'] ?>");  <=== ici la valeur issue de la BDD
this.montant_2=document.getElementById("montant_2");
this.montant_3=document.getElementById("montant_3");



this.res=document.getElementById("res");

	setRes=function()
	{
		_self.res.value=(+_self.qte_1.value)
		+(+_self.qte_2.value)
		+(+_self.qte_3.value)

	};
		addEvent(this.qte_1,'keyup',setRes);
		addEvent(this.qte_2,'keyup',setRes);
		addEvent(this.qte_3,'keyup',setRes);

}

function init()
{
	window.combi=new Combi()
}

addEvent(window,"load",init);

</script>



Le HTML :

<input name="montant_1" type="text" id="qte_1" value="<?php echo $bb['montant_1'] ?>">
<input name="qte_1" type="text" id="qte_1" value="0" size="3" maxlength="3">

<input name="montant_2" type="text" id="qte_2" value="<?php echo $bb['montant_2'] ?>">
<input name="qte_2" type="text" id="qte_2" value="0" size="3" maxlength="3">

<input name="montant_3" type="text" id="qte_3" value="<?php echo $bb['montant_3'] ?>">
<input name="qte_3" type="text" id="qte_3" value="0" size="3" maxlength="3">

<input id="res" name="res" value="0" disabled">


Ceci ne marche pas évidement :/
Comment faire pour que javascript récupère les valeurs des champs montant_x ?
Qq pourrais m'orienter svp ?

D'avance merci

4 réponses

virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 17
8 sept. 2008 à 21:04
Corrigé l'enoncé... dsl
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 sept. 2008 à 21:35
Salut,
attention tu as des erreurs dans tes id il faut qu'ils soient uniques

si tu as comme formulaire:

<input name="montant_1" type="text" id="montant_1" value="<?php echo $bb['montant_1'] ?>">
<input name="qte_1" type="text" id="qte_1" value="0" size="3" maxlength="3">

<input name="montant_2" type="text" id="montant_2" value="<?php echo $bb['montant_2'] ?>">
<input name="qte_2" type="text" id="qte_2" value="0" size="3" maxlength="3">

<input name="montant_3" type="text" id="montant_3" value="<?php echo $bb['montant_3'] ?>">
<input name="qte_3" type="text" id="qte_3" value="0" size="3" maxlength="3">

<input id="res" name="res" value="0" disabled">


par exemple pour récuperer en JS la valeur du champ ayant l'id= "montant_1"

var montant_1=document.getElementById("montant_1").value;
-1
virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 17
8 sept. 2008 à 21:49
oui dsl j'ai fait du copier collé pour l'énoncé, mais dans ma source il n'y a pas d'erreur.
Si je met des valeurs en dur, le script fonctionne bien.

en fait dans le "res" il m'affiche "NaN"
-1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 sept. 2008 à 21:57
il te manque aussi le type="text" dans

<input id="res" name="res" value="0" disabled">
-1
virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 17
8 sept. 2008 à 21:57
Ça marche !!!

Merci Alain_42 effectivement je m'était trompé dans les ID tu m'a pis la puce à l'oreille.

bon ca marche mais pour que ce soit encore plus beau, faudrait que j'arrive à faire des sous-totaux et les additionner tous !

du genre :

<input name="montant_1" type="text" id="montant_1" value="<?php echo $bb['montant_1'] ?>">
<input name="qte_1" type="text" id="qte_1" value="0" size="3" maxlength="3">

...

<input id="sousres" name="sousres" value="0" disabled">

<input id="res" name="res" value="0" disabled">

une piste svp ?
-1
virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 17
8 sept. 2008 à 22:15
Merci :) mais ca non plus je ne l'avait pas oublié dans mon code.

Pour le reste je vais essayer de m'en sortir

Je pastille résolu
-1