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 :

[Problème de débutant] La fonction ne se lance pas?


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut [Problème de débutant] La fonction ne se lance pas?
    Bonjour,

    Afin de générer automatiquement avec du js mes listes déroulantes pour sélectionner une date, j'ai une fonction dans l'entete de ma page qui retourne du code html écris par la fonction.

    comme ci dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script language='Javascript' type="text/javascript">
    <!--
     
    function displayDate(nameOfForm,nameOfField) { 
     
        var months = new Array("Janv
     
    .....
     
        return HTMLCode ; 
    }
    ...
    </script>
    et j'apelle la fonction comme ci dessous dans la page html:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<script language='Javascript'type="text/javascript"><!-- 
    		document.write(displayDate(action,datenaissance_jeune))  ;
    		//--></script>
    Or rien ne se passe, et j'ai l'impression que les navigateurs ne passent meme pas dans la fonction displayDate.

    Pouvez vous essayer de m'indiquer où est mon erreur svp..

    Merci d'avance de votre aide

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    salut,
    la tu ecris dans ton document l'appel de fonction mais pas dans des balises script.

    vire le document.write et ça marchera.

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    Même en enlevant le document.write, cela ne marche pas, en fait la fonction rempli la variable HTML avec le code HTML des listbox correspondants aux jour, mois, et du champ texte, mais elle n'affiche rien, et retourne le code HTML. J'ai l'impression que l'appel de fonction se fait mal, mais meme en essayant de mettre le document.write dans la fonction et appeler juste la fonction, cela ne marche pas.

    Je joins la page complète si ca peux aider à identifier le problème.
    Merci
    Fichiers attachés Fichiers attachés

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    arf autant pour moi j'avais pas fais gaffe au retour

    pour le coup dans ton fichier, je vois pas l'appel a ta fonction.

    Au lieu de faire un document.write, met un id a un div, recupère le avec un getElementById et fais un innerHTML dessus avec ton contenu.

    Et appel ta methode bien sur

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    Merci de ta réponse,

    J'apel la fonction à la ligne 141 dans le document.write,

    Je vais tenter de faire ce que tu explique mais étant débutant en js... je tiens informé si j'y arrive.
    Merci

  6. #6
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    Etant novice en javascript, j'ai éssayé de faire ta méthode, mais je ne la comprend pas trés bien, je n'arrive donc pas à la faire marcher.

    Pourrais tu soit me la décrire plus précisément, soit l'écrire directement?

    Merci d'avance.

  7. #7
    Membre chevronné Avatar de masu
    Inscrit en
    Février 2004
    Messages
    428
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 428
    Par défaut
    dans le code que tu donne en ficier attaché, quand tu fait l'appel a la fonction il manque les quotes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    displayDate('action','datenaissance_jeune')  ;

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <td colspan="4" align="left" id="ecrireIci">Date de naissance :
    		<script language='Javascript' type="text/javascript">
    		window.onload=function(){
                             displayDate(action,datenaissance_jeune)  ;
                     }
    		</script> 
            </td>
    et dans ta fonction, à la fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('ecrireIci').innerHTML = HTMLCode;

  9. #9
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    Merci de ta réponse,

    Je viens d'essayer ce que tu as dis, et je dois vraiment etre un boulet en js!
    Car je n'arrive toujours pas à l'afficher.

    Je joins la page avec les modif's que tu m'as annoncées, si tu pouvais jeter un coup d'oeil, si ça ne te dérange pas, je te remercie.
    Fichiers attachés Fichiers attachés

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    passes des chaines en argument :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    displayDate('action','datenaissance_jeune')

  11. #11
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    Je te remercie de ta patience, ça affiche enfin les listbox html, mais je viens de m'apercevoir que l'argument onchange sur la liste des mois ne faisait rien lorsque je changais le mois, pourrais tu m'aider de nouveau?

    Je viens de voir que ie et firefox me mettait une erreur dans la page quand je change le champ du mois.

    Merci

  12. #12
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    C'est bon, ca viens de marcher, je ne sais pas pourquoi mais en mettant les fonctions dans un fichier.js, je viens de retester et cela marche. je te remercie pour toute ton aide.

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

Discussions similaires

  1. débutant, la fonction load ne marche pas
    Par wyma dans le forum jQuery
    Réponses: 1
    Dernier message: 04/03/2010, 17h49
  2. Fonction ne se lance pas au chargement de la page
    Par anselme3 dans le forum jQuery
    Réponses: 2
    Dernier message: 23/02/2009, 16h36
  3. Ma fonction ne se lance pas (évènement onblur)
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/10/2008, 13h19
  4. [VBA] Ma fonction ne se lance pas quand je clique sur mon bouton
    Par MeHo_ dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/03/2008, 16h28
  5. Réponses: 3
    Dernier message: 16/09/2005, 10h01

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