Partage
  • Partager sur Facebook
  • Partager sur Twitter

fonction appelée seulement sur page accueil

Sujet résolu
    1 novembre 2011 à 18:34:27

    Bonsoir,

    J'ai une fonction javascript pour mettre un masque de saisie sur un champ date.
    (masque de saisie récupéré ici : http://typecast.arapehlivanian.com/)

    Pour l'initialiser, je dois lancer Typecast.Init(). Cette fonction va chercher tous les champs de type input de la page et rajouter des événements sur ceux qui ont une classe TCMask.

    Le problème : cette fonction n'est appelée que si elle est sur la page d'accueil (ainsi que les champs nécessitant un masque de saisie).

    Voici la page index.php :
    <script type="text/javascript" src="functions/javascriptFunctions.js"></script><!-- form checking -->
    <script type="text/javascript" src="functions/xhrObject.js"></script><!-- ajax -->
    
    <body>
    
    <div id="main-content">
    	<div id="navbar-container">
    		<ul id="navbar">
    			<?php include("menu.php"); ?>
    		</ul>
    	</div>
    </div>
    
    <!-- début corps de chaque page -->
    <div id="mainview">
    	<div id="mainview-content">
    		<div id="toplevel-page-container">
    			<?php 
    				//include("main/home.php");
    				include("main/lessonsTaught.php");
    			?>	
    		</div>
    	</div>
    </div>
    
    </body>
    


    Voci ma page lessonsTaught.php, où est appelé mon masque de saisie :
    <input type="text" class="TCMask[####-##-##,yyyy-mm-dd]" />
    
    <script type="text/javascript" src="functions/inputMask.js"></script><!-- input masks -->
    <script type="text/javascript" src="functions/inputMask.config.js"></script><!-- input masks -->					
    <script type="text/javascript">
    	Typecast.Init();
    </script>
    



    Je précise que pour afficher une nouvelle page (via le menu) j'utilise ajax.


    Merci d'avance,

    Romain
    • Partager sur Facebook
    • Partager sur Twitter
      2 novembre 2011 à 21:43:58

      Rebonsoir,

      Sur la page qui décrit comment utiliser ce masque de saisie, il est indiqué que la fonction Typecast.init() doit être lancé sur l'événement onload du body.
      Je ne peux pas la lancer sur le body onload puisque je crée mon body la première fois que j'arrive sur le site, et après quand je change de page, je ne change en fait qu'une partie du body via ajax. Donc je ne recrée jamais de body.
      Est-ce que le problème pourrait venir de là ?
      Si oui je comprendrais mieux pourquoi ça marche uniquement sur la première page, car c'est uniquement à ce moment là que je crée l'élément body.

      Merci d'avance,

      Romain
      • Partager sur Facebook
      • Partager sur Twitter
        8 novembre 2011 à 13:29:57

        Bonjour,

        Le problème cité plus haut concernait un problème avec un masque de saisie javascript.
        En utilisant une autre librairie (basée sur JQuery), le problème a finalement disparu.
        Pour ceux que ça intéressent :
        http://digitalbush.com/projects/masked-input-plugin/

        Résolu !

        Romain
        • Partager sur Facebook
        • Partager sur Twitter

        fonction appelée seulement sur page accueil

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown