Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

franck06

Insérer calcul dans page html

Messages recommandés

slt

c'est bete mais ce que je veux faire c'est

pouvoir effectuer un calcul (calculer vitesse en fction temps et kilometrage) dans une feuille html

est ce que l'applet c la seule solution ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Ca marche parfaitement bien avec du JavaScript. J'ai déjà écrit un script respectant le DOM (donc "qui fonctionne au moins sous IE, Mozilla et Opera") à ce sujet.

 

Il faut déjà situer deux champs numériques sur ta page :

<input id="num1" type="text" value="0" onkeyup="javascript:{ numerique(this); calculTotal(); }" onblur="javascript:{ numerique(this); calculTotal(); }" />
<input id="num2" type="text" value="0" onkeyup="javascript:{ numerique(this); calculTotal(); }" onblur="javascript:{ numerique(this); calculTotal(); }" />

(Tu choisis ce que tu veux pour les valeurs par défaut, ici j'ai mis 0)

Ensuite, il te faut un endroit pour afficher ton résultat (je prend l'exemple ici d'un total) :

<span id="total">0</span>

(je prends une balise span, mais n'importe quelle balise (td, div, ...) convient)

Finalement, tu n'as plus qu'à écrire la fonction qui va recalculer ton total et l'afficher :

  function calculTotal() {
     // Recup de l'id de l'endroit où on va afficher le total
     champTotal = document.getElementById("total");
     // On le vide
     while (champTotal.firstChild) champTotal.removeChild(champTotal.firstChild);
     total = 0;
     total += (document.getElementById("num1").value) ? parseFloat(document.getElementById("num1").value) : 0;
     total += (document.getElementById("num2").value) ? parseFloat(document.getElementById("num2").value) : 0;
     // Petite touche cosmétique : on n'affiche que deux décimales
     total = Math.round(total * 100) / 100;
     // On affiche le total
     champTotal.appendChild(document.createTextNode(total));
 }

Si tu veux, tu peux limiter les saisies dans ce champ à des nombres à virgule :

    function numerique(champ) {
       re1 = new RegExp("^[0-9]+\\.?$");
       re2 = new RegExp("^[0-9]*\\.?[0-9]+$");
       if (!re1.test(champ.value) && !re2.test(champ.value)) {
           nouveau = new String();
           entier = true;
           for (i=0; i < champ.value.length; i++) {
               if (champ.value.charAt(i).match(new RegExp("[0-9]"))) {
                   nouveau = nouveau + champ.value.charAt(i);
               } else if (((champ.value.charAt(i)==",") || (champ.value.charAt(i)==".")) && entier) {
                   entier = false;
                   nouveau = nouveau + ".";
               }
           }
           champ.value = nouveau;
       }
   }

Partager ce message


Lien à poster
Partager sur d’autres sites
ben j'ai tapé ton script et lorsque j'entre une valeur dans un champ

il y a ecrit Script error! en bas de la fenetre a gauche...

et quand tu double clique sur l'erreur en bas de la fenêtre à gauche ca t'indique quoi come erreur ???

 

++

Nyko

Partager ce message


Lien à poster
Partager sur d’autres sites
ben j'ai tapé ton script et lorsque j'entre une valeur dans un champ

il y a ecrit Script error! en bas de la fenetre a gauche...

et quand tu double clique sur l'erreur en bas de la fenêtre à gauche ca t'indique quoi come erreur ???

 

++

Nyko

rien

ca ecrit terminé

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...