Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/10/2011, 13h16   #1
Invité de passage
 
Homme Abou Kane
Développeur informatique
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Abou Kane
Localisation : Mauritanie

Informations professionnelles :
Activité : Développeur informatique
Secteur : Conseil

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
Par défaut Un script qui calcule la somme des montants d'un formulaire

Salut,

j'ai un problème pour afficher cette somme. J'suis trop nul en JS !
Voici un exemple:

Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <script language="javascript">
        function check(){
        var form = document.getElementById("form");
        var total= parseInt(form.MONT1.value) + parseInt(form.MONT2.value);// ...
        alert(Total: "+total"\n) ;
        }
        </script>
        <body>
        <form id="form" bgcolor="#6CF" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="application/x-www-form-urlencoded" onsubmit="return confirm('Confirmez?')">
        <fieldset >
        <legend></legend>
        <table bgcolor=#CFC>
        <tr>
        <td width="150">MONT1 </td>
        <td width="10"><input type="text" name="MONT1" size="20" maxlength="25"/></td></tr>
        <tr>
        <td>MONT2 </td>
        <td><input type="text" name="MONT2" size="20" maxlength="25"/></td></tr>
        <tr>
        <td><input type="reset" value=" Effacer " /></td>
        <td><input type="button" onclick="check()" value="total"/></td>
        </tr>
        </table>
        </fieldset>
        </form>
        </body>
        </html>
akaquane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 13h34   #2
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 691
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 691
Points : 5 767
Points : 5 767
Bonjour,

Tout d'abord, cette syntaxe n'est plus bonne :

Code :
<script language="javascript">
On utilise celle-ci :
Code :
<script type="text/javascript">
Ensuite, vous n'avez pas besoin de récupérer le formulaire. Vous ne devez pas mettre un id sur le formulaire mais un name. Le plus facile reste de mettre des id sur les champs et de les récupérer ainsi :

Code :
document.getElementById("champ1").value
Puis, le parseInt demande une base 10 en second argument. Utilisez le parseFloat, je pense qu'il y moins de problème avec celui-là.

Et pour finir, il manque des bouts ici :

Code :
alert("Total: "+total+"\n") ;
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 13h48   #3
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
ah ben en effet, y a du boulot...

vermine: attention, id est tout à fait judicieux pour un form, ce qui n'est pas le cas de name;

sinon, akaquane, tu ne fais pas les chose vraiment simplement, je trouve;

bref, en simplifiant, tu as ça:
Code :
1
2
3
4
<input type="text" name="mont1" size="20" maxlength="25" />
<input type="text" name="mont2" size="20" maxlength="25" />        
 
<input type="button" onclick="check(this.form)" value="total" />
(valeurs d'attributs en minuscule, merci)

et ta fonction peut se résumer à ça:
Code :
1
2
3
function check(f){
        alert("total= " + parseInt(f.elements["mont1"].value, 10) + parseInt(f.elements["mont2"].value, 10))
}
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 13h53   #4
Invité de passage
 
Homme Abou Kane
Développeur informatique
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Abou Kane
Localisation : Mauritanie

Informations professionnelles :
Activité : Développeur informatique
Secteur : Conseil

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
C'est bon!C'est réglé! C'était juste un problème de syntaxe :
Citation:
<script type="text/javascript">
et
Citation:
alert("Total: "+total+"\n") ;
Merci beaucoup!
akaquane est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h34.


 
 
 
 
Partenaires

Hébergement Web