fr . comp . lang . javascript


Service Usenet Gratuit - You The Net .Com Consultez les groupes de news usenet nntp avec www.youthenet.com Postez et suivez voos fils de discussions gratuitement avec you the net .com le service gratuit de news en ligne

Re: Calcul instantané sur Fr Comp Lang Javascript



Groupes les plus fournis
comp os linux configuration soc environnement misc handicap rec tv programmes rec cuisine soc histoire antique misc droit politique france sci maths comp infosystemes www navigateurs rec sport cyclisme usenet abus d lettres ecriture soc religion comp text tex comp sys mac soc sectes comp ordinosaures rec philatelie comp os linux debats


Derniers posts youthenet
Que pensez-vous de la doctrine de James Madison ? Re: envoi des données à un serveur html la demeure du chaos Re: Alice au pays de Free (d'après la t ribune) Re: Est-ce ue violation de la GPL? Re: L'ultra libéralisme du chemin de fer prôné par Sarkozy... Président langue de bois ? la compagnie de l'autre

actualité

Le site Bonjour Québec utilisera une application intégrant Google Maps
La Presse Canadienne - 17 juin 2008
Les autres technologies utilisées dans le cadre de ce projet sont AJAX, Javascript ainsi que Oracle Spatial 10g. "L'expertise Google Maps vient compléter ...
source

actualité

> Exonération TP dans les ZRU
APCE - Il y a 15 heures
La fonction qui vous permet d'écouter le texte sélectionné nécessite l'utilisation de JavaScript. La loi du 14 novembre 1996 relative à la mise en oeuvre du ...
source

Accueil |  Ajouter aux Favoris |  Inscription |  connexion |  Flux RSS de fr.comp.lang.javascript |

fr . comp . lang . javascript

Re: Calcul instantané



accueil . fr . comp . lang . javascript




Re: Calcul instantané

   
Sujet: Re: Calcul instantané
De: dam.courriel (l' arobase) gmail.com (DamDamDeo)
Groupes: fr.comp.lang.javascript
Organisation: http://groups.google.com
Date: 11. May 2008, 09:00:43
On 10 mai, 17:15, SAM <stephanemoriaux.NoAd...@wanadoo.fr.invalid>
wrote:
SAM a écrit :



Voici donc à adapter avec la page du form

et voici adapté :

<html>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

<script type="text/javascript">

function purge(nbre) {
nbre = nbre.replace(',','.');
nbre = nbre.replace(/([^0-9 ^.]|\.{2,5}|\s)/g,'');
return nbre*1; // on renvoie un nombre

}

function nbr2txt(n) {
return n.toString().replace('.',',');

}

function ajou(quoi) {
    // trouver le table contenant l'élément 'quoi'
var f = quoi.parentNode;
while(f.tagName != 'TABLE') f = f.parentNode;
    // en extraire le nbre de rangées du tbody
var r = f.getElementsByTagName('TBODY')[0];
     r = r.getElementsByTagName('TR').length+1;
     // collection des inputs voulus
f = f.getElementsByTagName('INPUT');
var c = f.length;
var n = c/r;
     // correction des nombres de rangées et colonnes
c = +c-n;   // toutes cellules sauf celles de dernière rangée
r = +r-1;   // toutes cellules de rangée sauf dernière
     // tableau des totaux par colonne
var tot = [];
     // création des totaux par colonnes (totaux mis à zéro)
     // la dernière colonne (total de la rangée) est ignorée
for(var i=0; i<n-1; i++) { tot[i] = 0; }
    // pour le sous-total de la rangée
var sstot = 0;

     // boucle avec un pas de n (boucle sur les rangées)
for(var i=0; i<c; i=i+n) {
        sstot = 0;   // le sous-total de la rangée est mis à zéro
            // boucle sur les inputs de la rangée
        for(var j=0; j<(n-1); j++) {
                tot[j] += purge(f[+i+j].value);    // total de la colonne
                sstot += purge(f[+i+j].value);     // total de la rangée
                }
        f[+i+n-1].value = nbr2txt(sstot);     // affichage total rangée
        }

        // la dernière rangée, celle des totaux
sstot = 0;
for(var i=0; i<n-1; i++) {            // boucle sur les inputs de la rangée
        f[c+i].value = nbr2txt(tot[i]);    // affichage du total de la colonne
        sstot += tot[i];                   // sous-total de la rangée
        }
f[c+n-1].value = nbr2txt(sstot);      // affichage du total général

}

</script>

<style type="text/css">
form { width: 700px; }
tr th:first-child, tr td:first-child { text-align: right; }
th, td { text-align: center }
input { width: 10em; text-align: center }
input:focus { background: #ff8 }
th input, tfoot td input { border: solid 2px red; background: #eee }
tfoot th input { border: solid 2px blue; background: #eee }
</style>

<form name="form1">
<fieldset>
    <legend>[<strong>NB d'adh&eacute;rents</strong>] Saison
Ecoul&eacute;e 2006-2007</legend>
    <table width="100%"  border="0">
       <thead>
         <tr>
           <th>&nbsp;</th>
           <th>Maurepas</th>
           <th>Autres communes</th>
           <th>Total</th>
         </tr>
       </thead>
       <tbody>
         <tr>
           <td height="26" >Adultes</td>
           <td><input tabindex="1" name="last_adultes_maurepas"
onchange="ajou(this)" /></td>
           <td><input tabindex="2" name="last_adultes_autre"
onchange="ajou(this)" /></td>
           <th><input name="totalfinal01_adulte" readonly="true"
id="totalfinal01_adulte"/></th>
         </tr>
         <tr>
           <td>De 12 &agrave; 18 ans</td>
           <td><input tabindex="3" name="_last_ado_maurepas"
onchange="ajou(this)"/></td>
           <td><input tabindex="5" name="last_ado_autre"
onchange="ajou(this)"/></td>
           <th><input name="totalfinal01_18" readonly="true"
id="totalfinal01_18"/></th>
         </tr>
         <tr>
           <td>Moins de 12 ans</td>
           <td><input tabindex="6" name="_last_enfant_maurepas"
onChange="ajou(this)"/></td>
           <td><input tabindex="7" name="last_enfant_autre"
onchange="ajou(this)" /></td>
           <th><input name="totalfinal01_12" readonly="true"
id="totalfinal01_12"/></th>
         </tr>
       </tbody>
       <tfoot>
         <tr>
           <th>TOTAL</th>
           <td><input name="total_maurepas" readonly="true"/></td>
           <td><input name="total2" readonly="true"/></td>
           <th><input name="totalglobal01" readonly="true"
id="totalglobal01"/></th>
         </tr>
       </tfoot>
    </table>
  </fieldset>

</form>
</html>

Attention !
Pour que ça fonctionne :
    bien respecter le balisage tbody thead tfoot
    tabindexer depuis le premier input ?
    chaque tabindex doit être unique
Erreur dans la page d'origine :
    des éléments de form sont en-dehors du form
Le code général un peu surabondant :
    plein de divs inutiles
    de même que des 'strong' facilement remplaçables par des th
    les sizes des inputs
    les styles individuels qu'on retrouve à plusieurs endroits

--
sm

Merci,
c'est nikel !
P'têtre qu'un jour j'arriverais à faire tout ça tout seul (on ne sais
jamais :D )

en attendant, voici ce que ça donne :
http://pagesperso-orange.fr/pasdenomdesite/formulaire_omlc/formu_omlc.html
(j'ai fais un peu de nettoyage dans le code, mais il m'en reste encore
pas mal à faire)

Merci encore ;)


Date Sujet  Auteur
09.05. * Calcul instantanéDamDamDeo
09.05. `* Re: Calcul instantanéSAM
09.05.  +- Re: Calcul instantanéDamDamDeo
09.05.  `* Re: Calcul instantanéDamDamDeo
09.05.   `* Re: Calcul instantanéSAM
09.05.    `* Re: Calcul instantanéDamDamDeo
10.05.     `* Re: Calcul instantanéSAM
10.05.      +- Re: Calcul instantanéDamDamDeo
10.05.      `* Re: Calcul instantanéDamDamDeo
10.05.       `* Re: Calcul instantanéSAM
10.05.        `* Re: Calcul instantanéDamDamDeo
10.05.         `* Re: Calcul instantanéSAM
10.05.          `* Re: Calcul instantanéSAM
11.05.           `* Re: Calcul instantanéDamDamDeo
11.05.            `* Re: Calcul instantanéSAM
11.05.             +- Re: Calcul instantanéDamDamDeo
11.05.             `* Re: Calcul instantanéDamDamDeo
11.05.              `- Re: Calcul instantanDamDamDeo
Derniers articles
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs comp os mac-os classiques sci astronomie test comp sys pc systemes gps test sci physique soc politique rec sport rugby

Derniers messages
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs soc travail misc droit internet comp sys mac communication misc securite routiere sci electrotechnique comp os mac-os classiques comp lang php sci astronomie test

actualité

Le site Bonjour Québec utilisera une application intégrant Google Maps
La Presse Canadienne - 17 juin 2008
Les autres technologies utilisées dans le cadre de ce projet sont AJAX, Javascript ainsi que Oracle Spatial 10g. "L'expertise Google Maps vient compléter ...
source

actualité

Incompatibilités Firefox 3 et iWeb
MacPlus - 18 juin 2008
A l'origine du problème, il semble qu'on trouve un défaut des bibliothèques JavaScript utilisées par le logiciel de création d'Apple qui empêche les ...
source


 




Copyright 2008 ©  - YouTheNet.com

| taubeere |