Monsieur Banane Posté(e) le 3 décembre 2005 Signaler Partager Posté(e) le 3 décembre 2005 (modifié) Bijour les gents, j'essai depuis ce matin de faire un formulaire ou j'ai besoin de faire un calcul (compliqué ), et pr tester, j'ai mi l=a+b avec l le resultat à afficher, et a et b, les valeurs à saisir par le formulaire. et le prob, c'est qu'au lieu de faire un addition mathématique, il colle simplement les valeurs les unes à cotés des autres : 3+3=33 18+58=1858 help! edit : et en plus de ca, ca marche pas lol si ca peut aider: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript"> function calc() { var a var b var c var d var lam a=document.form.co2.value b=document.form.co.value c=document.form.o2.value d=document.form.hc.value lam=a+b+c+d document.form.lambda.value=lam } </script> </head> <body> <form name="form"> <b>CO<sub>2</sub>:</b> <input name="co2" type="text" id="co2" size="10" maxlength="10" value=""> <br><b>CO:</b> <input name="co" type="text" id="co" size="10" maxlength="10" value=""> <br><b>0<sub>2</sub>:</b> <input name="o2" type="text" id="o2" size="10" maxlength="10" value=""> <br><b>HC:</b> <input name="hc" type="text" id="hc" size="10" maxlength="10" value=""> <br><input type="button" name="Submit" value="Calculer" onClick="clalc()"> <br><strong>Lambda = </strong> <input name="lambda" type="text" id="lambda" value="" size="12"> <br> </form> </body> </html> ca doit etre bourré de conneries Modifié le 3 décembre 2005 par Monsieur Banane Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
iGer Posté(e) le 3 décembre 2005 Signaler Partager Posté(e) le 3 décembre 2005 je suis qu'en 3eme, alors je dis peut-être une connerie, mais il y a très longtemps, j'avais vu dans un bouquin de maths, 1+1=11, 1+2=12 etc... bon j'ai peut-être la mémoire qui flanche, mais ça m'a parut bizarre ... en tout cas, si ct vrai, alors peut-être que ça vient de ça ............................................................ OK je sors Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Monsieur Banane Posté(e) le 3 décembre 2005 Auteur Signaler Partager Posté(e) le 3 décembre 2005 (modifié) en base 2, 1+1=10 mais ca a pas de rapport ca serait tres bien si un gentil monsieur voulait virer le message en dessous (avant que je m'enerve encore une fois) Modifié le 3 décembre 2005 par Monsieur Banane Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Brezho Posté(e) le 3 décembre 2005 Signaler Partager Posté(e) le 3 décembre 2005 en base 2, 1+1=10 mais ca a pas de rapport ca serait tres bien si un gentil monsieur voulait virer le message en dessous (avant que je m'enerve encore une fois) C'est fait, de toute façon tu l'aurais pas demandé ça aurait été le même tarif. Pour ta réponse, ça me dit quelque chose, j'ai un collègue qui a une license de Maths, je lui demanderai lundi si tu as pas eu ta réponse. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Samchi Posté(e) le 3 décembre 2005 Signaler Partager Posté(e) le 3 décembre 2005 Le problème c'est que tes variables sont considérées comme des mots et donc il colle les mots. Je ne sais pas si on peut définir le type de variable, mais je crois qu'on peut les initialiser (à 0 par exemple). Edit : Il faut convertir tes valeurs "value" en nombre grace à la fonction parseFloat(.....) : a=parseFloat(document.form.co2.value) b=parseFloat(document.form.co.value) c=parseFloat(document.form.o2.value) d=parseFloat(document.form.hc.value) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Monsieur Banane Posté(e) le 3 décembre 2005 Auteur Signaler Partager Posté(e) le 3 décembre 2005 (modifié) Le problème c'est que tes variables sont considérées comme des mots et donc il colle les mots. Je ne sais pas si on peut définir le type de variable, mais je crois qu'on peut les initialiser (à 0 par exemple). Le problème est là : type="text" Tes input ont pour valeur des mots et pas des nombres. Donc c'est normal qu'il les considère comme tel. j'avais pensé à un truc du genre, mais pas trouvé ! et je met quoi alors? rien? edit : http://fabien.medina.free.fr/javascript/programmer2.html edit2 : j'ai fait ca : <script type="text/javascript"> function calc() { var a=1 var b=1 var c=1 var d=1 var lam=1 a=document.form.co2.value b=document.form.co.value c=document.form.o2.value d=document.form.hc.value lam=a+b+c+d document.form.lambda.value=lam } </script> mais ca marche tjr pas, il les ajoute comme avant Modifié le 3 décembre 2005 par Monsieur Banane Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Samchi Posté(e) le 3 décembre 2005 Signaler Partager Posté(e) le 3 décembre 2005 j'avais pensé à un truc du genre, mais pas trouvé ! et je met quoi alors? rien? Il faut convertir tes valeurs "value" en nombre grace à la fonction parseFloat(.....) : a=parseFloat(document.form.co2.value); b=parseFloat(document.form.co.value); c=parseFloat(document.form.o2.value); d=parseFloat(document.form.hc.value); Ça marche impec. Le mieux serait de tester si la value est bien un nombre avec un truc : a=document.form.co2.value; if (a==parseFloat(a)) return true; else { windows.alert(.....); return false; } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Monsieur Banane Posté(e) le 3 décembre 2005 Auteur Signaler Partager Posté(e) le 3 décembre 2005 Il faut convertir tes valeurs "value" en nombre grace à la fonction parseFloat(.....) : a=parseFloat(document.form.co2.value); b=parseFloat(document.form.co.value); c=parseFloat(document.form.o2.value); d=parseFloat(document.form.hc.value); Ça marche impec. Le mieux serait de tester si la value est bien un nombre avec un truc : a=document.form.co2.value; if (a==parseFloat(a)) return true; else { windows.alert(.....); return false; } parfait! ca marche! merci bcp mec Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xr Posté(e) le 4 décembre 2005 Signaler Partager Posté(e) le 4 décembre 2005 Pour le vocabulaire, "foo" + "bar" = "foobar" ça s'appelle une concaténation. (autrement, tout marche donc j'ai pas grand chose d'autre à dire) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
midtownmad Posté(e) le 5 décembre 2005 Signaler Partager Posté(e) le 5 décembre 2005 Une fonction existe en JavaScript pour faire les calcul hein... nul besoin de faire des tests... var test = 5; var test2 = 6; eval( ( 2 + 2 ) / test + test2 ); Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.