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 :

fonction comme attribut


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 352
    Points : 149
    Points
    149
    Par défaut fonction comme attribut
    Sur la base de l'excellent livre de O'REILLY, javascrit La référence, j'essaye d'utiliser les gestionnaires d'événements comme propriétés a travers un exemple du livre
    code html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form name="f1">
    <input type="button" value="pressez-moi" name="b1">
    </form>
    code JS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function plead() {window.status="pressez-moi,svp";}
    document.f1.b1.onmouseover=plead;
    que ce soit avec IE ou firefox j'ai toujours le message d'erreur suvant
    "document.f1.b1 n'est pas objet ou il a une valeur nulle"

    J'en perds mon latin

    Qui peux mettre en évidence mon erreur?
    par avance merci

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.f1.b1.onmouseover=plead;
    est exécuté à quel moment? Avant ou après ton form? Tu devrais le mettre après, car le navigateur passe sur ton code javascript et cherche tout de suite ton boutton et s'il n'est pas crée, il te donne cette erreur. Aussi, tu pourrais mettre le code dans le onload du body. Plus clean selon moi.
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    eh oui... le positionnement des scripts dans la page est un paramètre à ne jamais négliger, quand tu travailles sur des éléments html

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 352
    Points : 149
    Points
    149
    Par défaut
    je viens de modifier le code comme suit mais rien n'est modifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <body onload="plead();">
    <form name="f1">
    <input type="button" value="pressez-moi" name="b1">
    </form>
     
    </body>
    </body>
    </html>
    pourriez-vous me fournir un code modifié qui fonctionne

  5. #5
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    salut,
    deja enleve le /body en trop, ensuite, je te conseille de ne pas utiliser la syntaxe utilisant les name mais plutot de passer par getElementById :

    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
     
    <html>
    <head>
    <title>Plead</title>
    <script type='text/javascript'>
    	function plead(){
    		window.status="pressez-moi,svp";
    	}
    	window.onload=function(){
    		document.getElementById('b1').onmouseover = plead;
    	}
    </script>
    </head>
     
    <body>
    	<form name="f1">
    		<input type="button" value="pressez-moi" id="b1">
    	</form> 
    </body>
    </html>
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/04/2007, 12h14
  2. [C#] Fonction comme MessageBox mais qui renvoie un string
    Par kinou dans le forum Windows Forms
    Réponses: 5
    Dernier message: 19/05/2006, 11h40
  3. Fonction Comme dans requete paramétrée
    Par spearboy dans le forum Access
    Réponses: 7
    Dernier message: 14/04/2006, 08h57
  4. [VB6]Une fonction comme Trim(), mais pour les "-"
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 13/04/2006, 19h43
  5. Passer une fonction comme argument à une fonction
    Par Cocotier974 dans le forum Général Python
    Réponses: 4
    Dernier message: 29/06/2004, 13h41

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