Function JS calcul automatique des champs - HTML/CSS - Programmation
Marsh Posté le 18-04-2008 à 18:54:48
pour créer tes 7 champs :
<input type='text' id='champ1' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ2' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ3' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ4' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ5' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ6' onfocus='test3();' onblur='addition();'><br />
<input type='text' id='champ7' onfocus='test3();' onblur='addition();'><br />
<!-- champ de résultat -->
<input type='text' id='total'>
Puis pour la partie javascript :
<script language='text/javascript'>
function test3(){
var i=1;
var total=0;
for (i=1;i<=7;i++){
if (document.getElementById('champ'+i).value!=null)
{
total++;
}
}
if (total>=3){
alert("vous avez déja rempli 3 champs" );
}
}
function addition(){
var total=0;
var i=1;
for (i=1;i<=7;i++){
if (document.getElementById('champ'+i).value!=null){
total=total+parseInt(document.getElementById('champ'+i).value);
}
}
document.getElementById('total').value=total;
}
</script>
J'espère que ca te conviendra !
Bonne soirée.
Marsh Posté le 18-04-2008 à 23:06:44
Wow, trop bien. On fait j'ai pu trouver une autre solution pour arriver à faire mes calcules, car j'avais de la peine à creer cette boucle.
Mais merci bcp pour ton aide je vais quand même tester ton code
grand merci.
Marsh Posté le 09-05-2008 à 17:24:54
j'ai un peu le meme probleme, mais je saisi mal le code que vous avez utilisez...
mon probleme c'est que je doit mettre le resultat du calcule dans le champs texte résultat...
(je fais une mini calculatrice...
voila mon code:
<head>
<script javascript>
function calculer()
{
var nb1=document.calculatrice.ch1.value;
var nb2=document.calculatrice.ch3.value;
for(i=0;i<document.calculatrice.ch2.options.length;i=i+1)
{
if(document.calculatrice.ch2.options[i].selected)
{
var op=document.calculatrice.ch2.options[i].text;
}}
alert(nb1+op+nb2)
var calcul=nb1+op+nb2;
var resultat=eval(calcul)
}
</script>
</head>
<body>
<form name="calculatrice" method="post" onSubmit="calculer()">
<input type="text" name="ch1">
<select name="ch2">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" name="ch3">
=
<input type="text" name="result" value="">
<input type="submit" value="ok">
</form>
il faudrait le resultat(en rouge) dans le champs texte ( en bleu)...y-a-t-il quelqu'un qui sache le faire???
j'ai déja essayé plein de truk mais sa bloc toujours...j'suis a court d'idée...
Marsh Posté le 09-05-2008 à 17:58:05
necrolith a écrit : j'ai un peu le meme probleme, mais je saisi mal le code que vous avez utilisez... |
Marsh Posté le 09-05-2008 à 18:04:11
j'ai déja essayé cette méthode et je vient de la refaire à l'instant et le champs reste toujours vide...
je comprend pas parce que logiquement sa devrais marché....
merci quand meme paulp
Marsh Posté le 09-05-2008 à 18:11:12
necrolith a écrit : j'ai déja essayé cette méthode et je vient de la refaire à l'instant et le champs reste toujours vide... |
Et as-tu un message d'erreur (outils/console d'erreur sous firefox) ?
Sinon, essaye alert(resultat);
Marsh Posté le 09-05-2008 à 18:14:44
dans les alertes sa marche...
euh pour scripté j'utilise webexpert...il a son propre visionneur...
et quand je clique sur ok (submit)sa affiche l'alerte et sa vide mes champs c'est tout...
Marsh Posté le 09-05-2008 à 18:19:00
necrolith a écrit : dans les alertes sa marche... |
Il faut que ta fonction onsubmit retourne false, pour pas que la soumission du formulaire se passe :
<form name="calculatrice" method="post" onSubmit="calculer(); return false;">
Marsh Posté le 09-05-2008 à 18:26:40
bon déja mes champ se vide plus...
maintenant reste plus qu'a afficher le resultat dans le champs texte...
et sa m'énerve sa fait 2 jours que je suis dessus...et je bloque...
Marsh Posté le 09-05-2008 à 18:28:08
necrolith a écrit : bon déja mes champ se vide plus... |
Est-ce que tu as moyen de voir les erreurs javascript ?
Sinon, ouvre ta page dans firefox et regarde dans la console d'erreur ...
Marsh Posté le 09-05-2008 à 18:33:32
j'ai une question...je peux balancer mon ordi par la fenetre???
sa fait 2 jours que je cherche un truk...qui marche.
webexpert n'arrive pas a le faire marcher et pouf dans opera du premlier coup....
c'est a vouloir me rendre fou mdr
merci paulp sans toi j'aurais jamais réussi...
PS: entre temps j'ai rajouté un blocage qui empeche de remplir les champs avec autre choses que des chiffres (donc pas de lettres ni de virgule ^^)
Marsh Posté le 15-04-2008 à 22:40:05
Bonjour à tous
J'ai un formulaire qui contient 7 champs. Il n'y a que 3 de ces 7 champs qui peuvent contenir qqch (dans ce cas un c'est nombre).
J'aimerais faire une fonction qu'addition tous les champs qui contienne qqch et qu'après il l'envoie le résultat dans un champ texte pour que il soit visible par l'utilisateur.
Donc en fait, faudrait parcourir mes 4 champs qu'ont des noms differents, les verifier pour voir s'ils ont qqch, puis après additioner les valeur de ces champs pour les envoyer dans un champ texte.
Le problème est que je ne vois pas du tout comment faire cela, comment faire un boucle qui teste les noms de mes champs (à savoir que le noms de me champs sont champ1, champ2, champ3....champ7)un par un et récupérer ses valeur pour ensuite les additionner.
SVP si vous savez comment faire, faites moi savoir. que je puisse commencer dans la bonne direction