begin process at 2012 05 28 23:19:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

addition successive d'un champ de formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

addition successive d'un champ de formulaire

vendredi 20 août 2004 à 09:32:55 | addition successive d'un champ de formulaire

Serialsiner

Bonjour,

Je cherche à additionner des heures et minutes situées dans 2 champs différents et à afficher le résultat dans un troisième champ résultat.

Le problème est que je veux réutiliser les mêmes champs pour des additions successives : l'utilisateur entre ses données, valide l'opération, les champs de saisie se remettent à zéro pour une nouvelle saisie et le résultat doit rester en mémoire pour s'additionner aux entrées de données ultérieures. (je ne sais pas si c'est très clair ...)

J'ai pondu un bout de code mais il ne fonctionne pas correctement:
Les données ne s'additionnent pas, j'obtiens seulement une succession de résultats accolés les uns aux autres (2354 au lieu de 14 par exemple).
Je voudrais également pouvoir effacer la variable du résultat en cliquant sur un bouton, j'avais créé une fonction qui mettait les variables à zéro mais ça ne fonctionne pas ...

Assez de blabla, voici le code :

<HTML>
<HEAD>
<SCRIPT language=JavaScript>
var sommex=0;
var sommey=0;
function addition() {
var x=document.form0.x.value;
var y=document.form0.y.value;
while (y>=60) { x++; y=y-60}
resultx=sommex+x;
resulty=sommey+y;

form0.resultat1.value=" "+resultx+"h"+resulty+"mn";
sommex=resultx;
sommey=resulty;
document.form0.x.value=0;
document.form0.y.value=0;
}
</SCRIPT>
</HEAD>
<body>
<FORM name=form0>
Heures:  <INPUT name=x value="0" length="10"><br>
Minutes: <INPUT name=y value="0" length="10"> <br><br>
<INPUT onclick=addition(); type=button value=Additionner>
<br><br>
<b>Résultat :</b><input type="text" name="resultat1">
<input type=reset value="Effacer">
</FORM>
</BODY></HTML>

Merci pour votre aide.

Stéphan
vendredi 20 août 2004 à 12:48:05 | Re : addition successive d'un champ de formulaire

bultez

Membre Club
Bonjour,

var x=parseInt(document.form0.x.value,10);
var y=parseInt(document.form0.y.value,10);

car sinon considéré comme string et le +
concatène au lieu d'additionner
parseInt(x,10) sinon "015" par exemple
serait considéré comme de l'octal.
===> il ne reste plus car rectifier l'affichage
du résultat ( 2h75 c'est pas beau )
Cordialement Bul. [Site] [Mail]
vendredi 20 août 2004 à 13:07:43 | Re : addition successive d'un champ de formulaire

Serialsiner

Merci énormément, décidément tu es mon sauveur ... pour la mise en forme je m'en charge mais je butais sur cette histoire de concaténation.

Excuse-moi de t'embêter encore un peu, mais pour remettre à zéro le résultat je fais comment ?
Je pensais créér une fonction du style:

function efface() {
resultx=0;
resulty=0;
}

et l'appeler sur l'evènement onclick d'un bouton, mais ça ne marche pas, j'ai une erreur d'objet attendu : (
vendredi 20 août 2004 à 14:22:13 | Re : addition successive d'un champ de formulaire

bultez

Membre Club
déjà le <input type=reset value="Effacer"> va le faire
donc est-ce utile ?
et quand un champ est dans un form ( ce qui est je
crois obligatoire sous certains navigateurs ), il faut
le dire : form0.resultx=0; ici.
Cordialement Bul. [Site] [Mail]
vendredi 20 août 2004 à 14:41:37 | Re : addition successive d'un champ de formulaire

Serialsiner

Ca ne marche pas : le reset efface bien le champ mais les variables contenant le résultat restent stockées et l'addition continue si on entre de nouvelles données.

Je vais encore chercher ...

Merci encore pour ton aide.
vendredi 20 août 2004 à 14:56:35 | Re : addition successive d'un champ de formulaire

bultez

Membre Club
resultx=sommex+x;
resulty=sommey+y;
donc remettre à 0 sommex et sommey
il y a d'autres solutions
Cordialement Bul. [Site] [Mail]
vendredi 20 août 2004 à 15:11:50 | Re : addition successive d'un champ de formulaire

Serialsiner

Il y a un problème que je ne cerne pas avec la fonction que je crée :


function efface(){
sommex=0;
sommey=0;
}


Le navigateur me retourne l'erreur "Objet attendu" sur la ligne :


Résultat :<input type="text" name="resultat1"> <INPUT onclick=efface(); type=button value=Effacer>


Même chose si c'est resultx et resulty que je passe à zéro ... je ne comprends pas.
vendredi 20 août 2004 à 15:28:57 | Re : addition successive d'un champ de formulaire

Serialsiner

Ca y est ça marche, je ne mettais pas ma fonction au bon endroit, il fallait la placer juste après les variables globales.


Cette discussion est classée dans : résultat, var, document, value, form0


Répondre à ce message

Sujets en rapport avec ce message

Mise en forme conditionnelle [ par fdthierry ] Bonjour, J'ai un tableau qui m'affiche toute une série de champ, à un champ précis nommé txtDoc j'ai un événement onchange.J'aimerais que celui ci se texte dans div au curseur [ par tonytruand ] bonsoir,J'ai encore un soucis, j'aimerais envoyer du texte dans un div à l'endroit du curseur comme cela se fait déjà dans un textarea (vu sur forum), Problème cahce avec IE [ par goulouk ] Bonjour,je voudrais savoir comment empécher de mettre une page en cache, ou alors obliger IE à recharger la page sans la prendre dans le cache.Je vous pb d'insertion [ par neotetsuo34 ] Bonjour,j'ai un probleme d'insertion d'une image sélectionné avec tinyMCE. En fait j'ai une page image qui selectionne une image et quand je clique su incrementer [ par tonytruand ] bonjour;j'ai un souci d'incrémentation. Dans une function ci dessous, j'aimerai que le i se traduise par 0 puis 1 puis 2 etc.J'ai bien essayer le  for Probleme de debutant [ par darkwhite ] Salut a tous. J'ai commencer le Javascript depuis une semaine donc je debute tout juste.J'ai commencé ce programme simple : .:Darlwhite:. Aide envoi formulaire asynchrone [ par shadow1779 ] Bonsoir,je souhaite envoyer un formulaire via xmlhttprequest afin de vérifier par une page php si certains champs n'existent pas deja dans la base de sujet formulaire [ par limaseb ] J'ai un probleme sur mon formulaire aimerais le faire apparaitre en email outlook mais en colonne et non en ligne avec entre les informations & ces po Alarm [ par DomJ ] Bonjour, je voudrais faire un script que, on met l'alarm à telle heure, puis à cette heure précise, (si la fenêtre est ouvert, ça ouvre un "alert()" a Alarm [ par DomJ ] Bonjour, je voudrais faire un script que, on met l'alarm à telle heure, puis à cette heure précise, (si la fenêtre est ouvert, ça ouvre un "alert()" a


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales