Partage
  • Partager sur Facebook
  • Partager sur Twitter

Débutant en Js - Fonction qui marche une seule fois ??

Sujet résolu
    14 mai 2010 à 15:20:17

    Bonjour, je débute en js et voici l'un de mes tout premier scripts trés basique:
    En html :
    <input type="hidden" name="total_hidden" value="10"/>
    et  <input onKeyUp="maj_prix(this.value)" type="text" name="kg" value="0" size="5" />
    


    En Js:
    <script type="text/javascript">
    function maj_prix(kg)
    {
    kg = parseInt(kg, 10)
    sous_total = parseInt(document.total_hidden_form.total_hidden.value, 10); /* sous_total vaut 10 */
    total = sous_total + kg;
    document.getElementById('prix_total').innerHTML = total; /* affiche resultat */
    }
    </script>
    


    Quand j'entre un nombre dans la zone de texte "Kg" tout se passe bien, l'addition s'effectue et sa m'affiche le résultat.
    Mais si je change ce nombre (sans recharger la page) j'ai un icône 'erreur sur la page' qui apparait (IE8)
    Pourquoi le script s'exécute correctement la premier fois et bug les autre fois ?


    Merci


    EDIT Bug sous IE8 seulement, pas sous FF ?? Une idées ? Merci
    • Partager sur Facebook
    • Partager sur Twitter
      14 mai 2010 à 15:31:38

      Essais de renommer ta variable kg en autre chose, ou de supprimer le name="kg" de ton input.
      • Partager sur Facebook
      • Partager sur Twitter
        14 mai 2010 à 15:40:50

        Rien a faire IE veut pas le prendre :o
        • Partager sur Facebook
        • Partager sur Twitter
          14 mai 2010 à 15:42:06

          on peut voir ta page online?
          • Partager sur Facebook
          • Partager sur Twitter
            14 mai 2010 à 15:51:35

            Bien sur,
            Site teste
            Clic sur le bouton jaune 'acheter' du 1er objet en haut a gauche. Le input est celui en Kg !!

            Résultat à droite, 10 + la_valeur_en_kg (a la place du texte '9.45 euros')
            • Partager sur Facebook
            • Partager sur Twitter
              14 mai 2010 à 17:15:02

              Ton formulaire total_hidden_form est dans l'élement ayant pour id prix_total.

              Donc quand tu appelles ta fonction, et que tu fais ton document.gEBI('prix_total').innerHTML = '..'; tu effaces ton formulaire.

              Donc au deuxième appel, celui-ci n'existe plus.
              • Partager sur Facebook
              • Partager sur Twitter
                14 mai 2010 à 17:35:07

                Alors la j'y avais pas pensé une seule seconde... :)
                Merci pour l'info ! Mais alors, pourquoi avec FF ca marchais quand même ? Il a du mettre le formulaire en mémoire :lol:
                • Partager sur Facebook
                • Partager sur Twitter

                Débutant en Js - Fonction qui marche une seule fois ??

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown