IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

message d'erreur : Fonction indéfinie


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 33
    Par défaut message d'erreur : Fonction indéfinie
    bonjour,

    j'ai réaliseé une petite page de test sans prétention avec du javascript et firefox me signale que les deux fonction sont indéfinies. j'ai parcouru ce forum et lu une contribution sur un cas indentique et le prblèblème viendrait d'une erreur de syntaxte quelque part dans la page, J'ai beau regarder et re-regarder cela me semble correct.

    Si quelqu'un pouvait jeter un oeil neuf sur le code suivant je lui en serait grandement reconnaissant.

    Merci par avance pour votre aide.
    Kiko.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <html>
      <head>
        <title>Identification</title>
     
        <script type='text/javascript'>
          fuction getId() {
            ireponse = getElementById('reponse');
            ireponse.value='Utilisateur et/ou mot de passe invalide';
            alert(ireponse);
          }
     
          function signon() {
            alert(ireponse.value);
          }
        </script>
      </head>
     
      <body onload='getId();'>
        <form action="">
          Utilisateur  :&nbsp;<input type='text' id='nom' size='10' maxlength='10'><br>
          Mot de passe  :&nbsp;<input type='text' id='passe' size='10' maxlength='10'>
          <br><br><input type='button' onclick='signon();' value='se connecter'>
          <br><br><input type='text' readonly size='200' id='reponse'>
        </form
      </body>
    </html>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 33
    Par défaut
    En regardant le code entre la balise [CODE] j'ai pu corrigé deux choses :
    - la balise fermante de <form> n'avait pas de chevron à la fin.
    - la fonction getId etait mal orthographié.

    Maintenant je me retrouve avec getElementById(...) non défine
    On verra demain maintenant,


    Bonne nuit.

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Je suis, comme toi, débutant, néanmoins, j'ai trouvé plusieurs problèmes :
    - des fautes de frappe (fuction au lieu de function et une fermeture de balise oubliée (>)) ;
    - il ne faut pas appeler getId sur onload car le formulaire n'est pas encore créé, donc impossible de modifier le dom ;
    - devant "getElementById", il faut rajouter "document" ;
    - c'est pas alert(ireponse); mais alert(ireponse.value); qu'il faut faire. Mais comme tu le fais dans signon, je l'ai viré.

    Pour vérifier que j'avais compris, j'ai modifié la valeur du alert.

    Voici une version qui marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <html>
      <head>
        <title>Identification</title>
     
        <script type='text/javascript'>
          function getId() {
            ireponse = document.getElementById('reponse');
            ireponse.value='Utilisateur et/ou mot de passe invalide';
            //alert(ireponse.value);
          }
     
          function signon() {
            ireponse.value=document.getElementById('passe').value;
            alert(ireponse.value);
          }
        </script>
      </head>
     
      <body>
        <form action="">
          Utilisateur  :&nbsp;<input type='text' id='nom' size='10' maxlength='10'><br>
          Mot de passe  :&nbsp;<input type='text' id='passe' size='10' maxlength='10'>
          <br><br><input type='button' onclick='signon();' value='se connecter'>
          <br><br><input type='text' readonly size='20' id='reponse' >
        </form>
        <script type='text/javascript'>getId();</script>
      </body>
    </html>
    J'ai crû comprendre que ce genre de titre est déconseillé.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Heu si le onload sert justement a attendre que les objets soient instanciés !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 33
    Par défaut
    Merci Laurent pour ton aide et désolé pour le titre.
    Kiko

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Heu si le onload sert justement a attendre que les objets soient instanciés !
    Exact ; d'ailleurs, ça marche très bien comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <html>
      <head>
        <title>Identification</title>
     
        <script type='text/javascript'>
          function getId() {
            ireponse = document.getElementById('reponse');
            ireponse.value='Utilisateur et/ou mot de passe invalide';
            //alert(ireponse.value);
          }
     
          function signon() {
            ireponse.value=document.getElementById('passe').value;
            alert(ireponse.value);
          }
        </script>
      </head>
     
      <body onload='getId();'>
        <form action="">
          Utilisateur  :&nbsp;<input type='text' id='nom' size='10' maxlength='10'><br>
          Mot de passe  :&nbsp;<input type='text' id='passe' size='10' maxlength='10'>
          <br><br><input type='button' onclick='signon();' value='se connecter'>
          <br><br><input type='hidden' size='20' id='reponse' >
        </form>
        <!--<script type='text/javascript'>getId();</script>-->
      </body>
    </html>
    (au passage, j'ai remplacé le "readonly" (que je ne connaissais pas) par un champ "hidden" : ça revient au même)

    désolé pour le titre
    Mon statut peu flatteur et mes nombreuses infractions expliquent ma vigilance, même si ça n'a rien à voir avec les titres !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message d'erreur "Fonction indéfinie" anormal
    Par laurentSc dans le forum Langage
    Réponses: 2
    Dernier message: 23/06/2011, 13h56
  2. Messages d'erreur Fonctions
    Par Victor01 dans le forum Langage
    Réponses: 11
    Dernier message: 04/10/2009, 15h37
  3. Message d'erreur fonction envoi touches dans macro
    Par isabelle b dans le forum IHM
    Réponses: 4
    Dernier message: 26/06/2008, 21h15
  4. Réponses: 2
    Dernier message: 10/01/2007, 23h28
  5. Réponses: 2
    Dernier message: 01/06/2006, 14h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo