Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/07/2011, 12h02   #1
Membre du Club
 
Homme
Analyse système
Inscription : mars 2011
Messages : 406
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyse système

Informations forums :
Inscription : mars 2011
Messages : 406
Points : 67
Points : 67
Par défaut appel de fonction .

Bonjour,
j'ai eu un comportement bizzar lors de l'appelle d'une fonction.si j'appelle la fonction depuis un boutton s'amarche :
Code :
<a href="" onclick="Sexy.alert('Nice!'); return false;">Show a JavaScript alert with a new look!</a>
et si je veux l'executer directement s'amarche pas :
Code :
1
2
3
<SCRIPT LANGUAGE = 'JAVASCRIPT'> 
Sexy.alert('Nice!');
</script>
et méme :
Code :
1
2
3
4
<SCRIPT LANGUAGE = 'JAVASCRIPT'> 
Sexy.alert('Nice!');
return false;
</script>
s'marche pas.des idée ???merci d'avance
benhsaien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 12h12   #2
Débutant
 
Avatar de SonnyFab
 
Fabrice Sonny
Étudiant
Inscription : mai 2010
Messages : 483
Détails du profil
Informations personnelles :
Nom : Fabrice Sonny
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 483
Points : 165
Points : 165
Envoyer un message via Yahoo à SonnyFab
Code :
1
2
3
4
5
6
7
8
9
<SCRIPT LANGUAGE = 'JAVASCRIPT'> 
function Sexy.alert(){
alert('Nice!');
return false;
 
}
</script>
 
<a href="" onclick="Sexy.alert(); ">Show a JavaScript alert with a new look!</a>
__________________
C'est quand tout semble perdu qu'il ne faut jamais abandonner...
SonnyFab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 12h19   #3
Membre du Club
 
Homme
Analyse système
Inscription : mars 2011
Messages : 406
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyse système

Informations forums :
Inscription : mars 2011
Messages : 406
Points : 67
Points : 67
Voila la partie du code de cette partie :
Code :
1
2
3
4
<script src="mootools.js" type="text/javascript"></script>
<script src="sexyalertbox.v1.js" type="text/javascript"></script>
<script src="sexyalertbox.packed.js" type="text/javascript"></script>
<link rel="stylesheet" href="sexyalertbox.css" type="text/css" media="all" >
Code :
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
window.addEvent('domready', function() {
Sexy = new SexyAlertBox();
});Sexy.alert('Nice!'); return false;
</script>
 
<SCRIPT LANGUAGE = 'JAVASCRIPT'> 
Sexy.alert('Nice!');
return false;
</script>
Code :
<a href="" onclick="Sexy.alert('Nice'); return false;">Show a JavaScript alert with a new look!</a>
???
benhsaien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 12h34   #4
Membre actif
 
Inscription : juin 2004
Messages : 152
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 152
Points : 154
Points : 154
Code :
1
2
3
4
5
6
7
<script type="text/javascript">
window.addEvent('domready', function() {
   Sexy = new SexyAlertBox();
});
Sexy.alert('Nice!');
return false;
</script>
Tu attends que ton arbre dom soit chargé pour déclarer ton objet Sexy, bonne idée, sauf que ton Sexy.alert('Nice!') n'attends pas lui que le dom soit chargé et que ton objet Sexy soit déclaré...

De plus, il y a un problème de portée de variable, ton objet Sexy n'existe que dans ta fonction qui est exécutée lors de l'évènement domready. Tu dois déclarer ta variable en dehors de la fonction pour qu'elle soit accessible depuis d'autres fonctions...


Enfin, l'attribut LANGUAGE de la balise script est "deprecated", il est recommandé d'utiliser :
Code :
1
2
3
<script type="text/javascript">
...
</script>
A+
BaBeuH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 12h42   #5
Membre du Club
 
Homme
Analyse système
Inscription : mars 2011
Messages : 406
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Analyse système

Informations forums :
Inscription : mars 2011
Messages : 406
Points : 67
Points : 67
merci BaBeuH
pour votre explication mais tu peu me cité comment faire dans ce cas .le bout de code pour l'appelle ??? merci .
benhsaien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 12h46   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 019
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 019
Points : 45 114
Points : 45 114
Code :
window.addEvent('domready'
??
ben c'est quoi ça ?
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 12h47   #7
Membre actif
 
Inscription : juin 2004
Messages : 152
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 152
Points : 154
Points : 154
Code :
1
2
3
4
5
6
7
<script type="text/javascript">
var Sexy = null; // On déclare la variable Sexy pour qu'elle soit accessible partout dans la page
window.addEvent('domready', function() {
   Sexy = new SexyAlertBox(); // On instancie la variable une fois que la page est chargée
   Sexy.alert('Nice!'); // Et une fois la variable instanciée, on peut l'utiliser
});
</script>
De cette façon, l'appel de l'objet Sexy sur le onclick doit également fonctionner.

@SpaceFrog
Citation:
window.addEvent('domready'

??
ben c'est quoi ça ?
C'est du mootools je pense
BaBeuH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 12h51   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 019
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 019
Points : 45 114
Points : 45 114
oui je sais ...
c'était juste pour dire qu'il avait tous les elements en main pour comprendre le pourquoi de l'instanciation de l'objet ...
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2011, 17h49   #9
Membre habitué
 
Homme
Étudiant
Inscription : mai 2011
Messages : 226
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 226
Points : 126
Points : 126
Citation:
Envoyé par BaBeuH Voir le message
Code :
1
2
3
4
5
<script type="text/javascript">
window.addEvent('domready', function() {
   Sexy = new SexyAlertBox();
});
</script>
De plus, il y a un problème de portée de variable, ton objet Sexy n'existe que dans ta fonction qui est exécutée lors de l'évènement domready.
euh... Pas convaincu. Ce serait vrai pour "var Sexy =", mais là, dès que la ligne sera executée, l'objet Sexy sera ajouté au DOM de window. En tout cas c'est ce qu'il me semble
Sharcoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2011, 18h24   #10
Membre actif
 
Inscription : juin 2004
Messages : 152
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 152
Points : 154
Points : 154
Effectivement, tu as raison, la variable Sexy est "globale" puisqu'il n'y a pas le mot clé "var", elle n'est donc pas limitée au scope de la fonction.
BaBeuH est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h36.


 
 
 
 
Partenaires

Hébergement Web