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 :

Var is not defined


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut Var is not defined
    Bonjour à tous,
    je rencontre un problème javascript lors de l'appel à un calendrier sur un champ texte récupérant une date en string:

    ce code se trouve dans une page jsp (développement java avec struts):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <html:text styleClass="calendar" name="affaireForm"   property="affairedatecreation" readonly="true" />
    <a href="javascript:cal1.popup();"><img src="imagecalendrier"></a>
     
     
    <script language="JavaScript">
    	var cal1 = new calendar1(document.forms["affaireForm"].elements["affairedatecreation"]);
    		cal1.year_scroll = true;
    		cal1.time_comp = false;
    </script>
    au clic sur le href, l'erreur javascript est : "cal1 is not defined"

    affaireForm et affairedatecreation sont bien défini dans l'actionForm.

    Pour info, ce code d'appel du calendrier se situe dans plusieurs autres jsp, avec un code identique et qui fonctionne.

    Merci d'avance!!

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    dans la partie <head> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var cal1;
    function InitCal() {
    cal1 = new calendar1(document.forms["affaireForm"].elements["affairedatecreation"]);
    cal1.year_scroll = true;
    cal1.time_comp = false;
    }
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="InitCal();">
    Dans ton code actuel, affairedatecreation ne doit pas encore exister au moment de la déclaration de ta variable ...

    A+

  3. #3
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut
    Merci pour ta réponse E.Bzz...

    Malheureusement...

    affairedatecreation est bel et bien crée avant puisqu'il me sert à pré remplir le champ avec la date du jour et ca fonctionne sans problème.

    J'ai essayé ta proposition mais malheureusement sans succès.

    Cet fois ci au chargement de la page, "initCal() is not defined" et au clic sur le href, "cal1 is 'still' not defined"

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par lextaz33 Voir le message
    Cet fois ci au chargement de la page, "initCal() is not defined"
    Pas normal, ça !
    On, peut voir le code HTML + JS de la page (head+body pour les éléments concernés) ?

    A+

  5. #5
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <head>
    	<script type="text/javascript">
    		var cal1;
    		function initCal()
    		{
    			cal1 = new  calendar1(document.forms["affaireForm"].elements["affairedatecreation"]);
    			cal1.year_scroll = true;
    			cal1.time_comp = false;
    		}
    	</script>
    </head>
    <body onload="initCal();">
         //code que jai donné tout a l'heure
    </body>
    autant pour moi Mr Bzz...
    J'ai mal lu ton poste et j'avais mis var cal1; dans la fonction intCal(){}

    Ca fonctionne desormais, c'est nickel.
    Merci vous êtes énorme Mr Bzzz!!!! D'une rapidité fulgurante ca fait plaisir!!

  6. #6
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Par défaut
    Quel talent !!
    J'ai même pas eu le temps de soumettre une proposition

  7. #7
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut
    PS:

    Ca marche c'est super mais ce ne change pas que dans mes autres pages le code que je vous ai montré fonctionne sans problème!!



    C'est bizarre!! Mais bon merci pour tous!

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Si ça fonctionne, le plaisir est partagé

    A+

  9. #9
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par lextaz33 Voir le message
    Ca marche c'est super mais ce ne change pas que dans mes autres pages le code que je vous ai montré fonctionne sans problème!!
    L'intérêt du onload est de ne pas avoir à se poser la question sur l'ordre dans lequel les éléments sont chargés.
    Il doit y avoir dans cette page un "élément perturbateur" non présent dans les autres ...

    A+

  10. #10
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut
    Maitre bzzz je reviens vers vous...

    anciennement, mon code javascript se trouvait en fin de jsp et était le suivant
    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
    29
    30
    31
    32
    33
     
    <script language="JavaScript">	
    var cal1 = new calendar1(document.forms["evenementForm"].elements["evenementDate"]);
    		cal1.year_scroll = true;
    		cal1.time_comp = false;
    	function val()
    	{
    		if (confirm('Etes-vous sûr de vouloir supprimer cette affaire?'))
    		{
    			var form = document.getElementById('formulaire');
    			form.action='affaire.do?dispatch=delete';
    			form.submit();
    		}
    	}
    	function val2()
    	{
    		if (confirm('Vous allez supprimer cette affaire et ses dépendances. Etes-vous sûr?'))
    		{
    			var form = document.getElementById('formulaire');
    			form.action='./affaire.do?dispatch=hardDelete';
    			form.submit();
    		}
    	}	
    	function val3()
    	{
    		if (confirm('Etes-vous sur de voloir annuler l'opération ?'))
    		{
    			var form = document.getElementById('formulaire');
    			form.action='./societe.do?dispatch=load';
    			form.submit();
    		}	
    	}
    </script>
    désormais, la déclaration de cal1 se situe dans le head comme préconisé avec initCal dans body onload!!

    Désormais les fonctions val(), val2() et val3() sont "not defined".
    J'ai tenté de les placer dans le head et dans le body onload sans succès!!

    Peut-être vos lumières en javascript peuvent elles m'aider!!

  11. #11
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    La fonction val3() est récente, non ?
    Une quote mal protégée, et tout fout le camp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (confirm('Etes-vous sur de voloir annuler l\'opération ?'))
    Ceci dit, cette correction n'est peut être pas suffisante ...

    A+

  12. #12
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut
    Vous êtes un dieu!!
    Merci encore!!

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 24/07/2006, 17h23
  2. MouseWheel user-defined type not defined
    Par jibouze dans le forum IHM
    Réponses: 7
    Dernier message: 08/06/2006, 17h36
  3. [XSL] Problème "Entity not defined"
    Par FreeCake dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/04/2006, 21h36
  4. erreur function not defined
    Par reventlov dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/04/2006, 01h07
  5. HtmlElement not defined sous Firefox
    Par la.sophe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/02/2006, 20h42

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