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

Zend_Form PHP Discussion :

Masque de saisie sur un champ texte [ZF 1.9]


Sujet :

Zend_Form PHP

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 126
    Points : 177
    Points
    177
    Par défaut Masque de saisie sur un champ texte
    Bonjour à tous,

    Je cherche à savoir s'il est possible avec ZF d'appliquer un masque de saisie à un champ text (<input type="text">)...

    Le masque de saisie serait par exemple celui d'une date...

    Ou alors, à défaut de contraindre la syntaxe, y'a-t-il un moyen de générer des datePicker avec Zend (ou un de ses composants) ?
    Ceci afin d'obtenir le comportement suivant : quand l'utilisateur clique dans le champ texte, un calendrier s'ouvre, proposant de générer la date voulue avec un simple clique sur le calendrier...

    Mes questions peuvent sembler, candide ou "bizarre"...cela doit tenir au fait que je débute avec Zend et que j'avoue avoir un peu de mal à savoir par quel "bout" prendre cet outil.


    Merci d'avance

    J'ai fais un topic récemment sur ce forum, pour demander des conseils en matière de bouquins et je n'ai obtenu qu'une réponse...et apparemment le bouquin conseillé n'est pas si simple que ça pour les "purs" débutants Zend
    Le topic en question :
    http://www.developpez.net/forums/d82...end-framework/

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 47
    Points : 54
    Points
    54
    Par défaut
    Tu as effectivement un composant DatePicker dans ZendX_JQuery

    ZendX_JQuery_Form_Element_DatePicker

    Si tu as besoin de plus d'infos, n'hésite pas.

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 126
    Points : 177
    Points
    177
    Par défaut
    Merci de ta réponse !
    J'ai en effet une question :
    Comment faire fonctionner ZendX_JQuery s'il n'est pas présent dans le framework ?
    J'ai regardé dans la doc officielle, elle n'indique pas comment installer/intégrer ZendX_JQuery !

    Au cas où, je précise que je ne pense pas avoir ZendX_JQuery parce que dans mon repertoire Zend je ne vois aucun dossier correspondant...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 47
    Points : 54
    Points
    54
    Par défaut
    Tu dois récupérer le paquet "FULL" de Zend Framework, et dans ce paquet, tu as un répertoire extras\library qui contient ZendX. Tu le mets au même niveau que le framework Zend (à minima dans le répertoire Library de ton application), et tu peux t'en servir.

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 126
    Points : 177
    Points
    177
    Par défaut
    Ah bah voila, c'est tout bête, mais j'avais pas du tout percuté
    Encore Merci !!

    Je sais que c'est gonflé, mais si vous avez des ressources, des liens, des cours qui parlent de Zend, Zend Form et du coup de ZendX_Jquery : je suis preneur !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 47
    Points : 54
    Points
    54
    Par défaut
    Je ne crois pas avoir trouvé autre chose que la documentation, assez succinte, et quelques exemples ici et là

    Je peux te donner une partie de mon code, si ça peut t'aider à démarrer :

    Dans mon bootstrap :
    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
     
    	protected function _initJQuery() {
    		$this->bootstrap('frontController');
    		$this->bootstrap('layout');
    		$this->bootstrap('locale');
    		$layout = $this->getResource('layout');
    		$locale = $this->getResource('locale');
    		$frontController = $this->getResource('frontController');
    		$view = $layout->getView();
    		ZendX_JQuery::enableView($view);
    		$jquery = $view->jQuery();
    		$jquery->setLocalPath ($frontController->getBaseUrl() . '/scripts/jquery/jquery-1.3.2.js')
    		->setUILocalPath ($frontController->getBaseUrl() . '/scripts/jquery/jquery-ui-1.7.1.custom.min.js')
    		->addJavascriptFile ($frontController->getBaseUrl() . '/scripts/jquery/i18n/ui.datepicker-'.$locale->getLanguage().'.js')
    		->addStylesheet($frontController->getBaseUrl() . '/scripts/jquery/theme/ui.all.css')
    		;
    		$jquery->enable();
    		$jquery->uiEnable();
    	}
    Ceci permet d'activer Jquery (et JQueryUI, pour le composant DatePicker) dans ta couche de vue (j'utilise une copie locale de jquery)

    Ensuite, dans le layout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        <head>
    [...]
    	<?php echo  $this->JQuery() ?>
    [...]
    Cela permet à ZendX_JQuery d'ajouter les différents 'bind' issues des composants que tu as ajouté dans ta page

    Ensuite, dans le contructeur de ton formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		ZendX_JQuery::enableForm($this);
    		$this->setDecorators(array ('Description', 'FormElements', 'Form') );
    		$this->addElement ('Textarea', 'comment', array ('Label' => 'Saisissez le commentaire', 'cols' => 80, 'rows' => 10));
    		$this->addElement ('DatePicker', 'myDate', array ('jQueryParams' => array ('Label' => "Saisie de la date", 'duration' => 'fast', 'showAnim' => 'slideDown', 'showOn' => 'button', 'buttonImage' => "/pictures/layout/calendar.jpg", 'buttonImageOnly' => true) ) );
    		$this->getElement ('myDate')->setAttrib('id', "myDate")->setValue(Zend_Date::now()->toString('dd/MM/YYYY') );
    la 1ère ligne permet "d'ajouter" le support de JQuery à ton objet Zend_Form.
    Ensuite, tu peux ajouter des composants ZendX_JQuery_Form_Element_* de la même manière que tu ajouterais des composants Zend_Form_Element_*. Remarque bien la manière de passer des paramètres (tableau JQueryParams).

    Voila.

  7. #7
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 126
    Points : 177
    Points
    177
    Par défaut
    Wow, c'est trop classe
    Merci à toi

    Je testerai ça sous peu!

  8. #8
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 126
    Points : 177
    Points
    177
    Par défaut
    Voici une solution temporaire qui n'utilise PAS ZendX_JQuery, mais directement JQuery avec le plugin DatePicker

    Code JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    jQuery(window).ready(function(){
    	$("#datedebut").datepicker();
    	$("#datedebut2").datepicker();
    });

    Code HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" name="datedebut2" id="datedebut" value="" />
    <input type="text" name="datedebut2" id="datedebut2" value="" />
    Ne pas oublier d'inclure tout ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <link type="text/css" href="<?php echo $this->baseUrl(); ?>/css/jquery/ui.all.css" rel="stylesheet" />
    <script type="text/javascript" src="<?php echo $this->baseUrl(); ?>/js/jquery/jquery-1.3.2.min.js">
    </script>	
    <script type="text/javascript" src="<?php echo $this->baseUrl(); ?>/js/jquery/jquery-ui-1.7.2.custom.min.js">
    </script>
    <script type="text/javascript" src="<?php echo $this->baseUrl(); ?>/js/jquery/ui.datepicker-fr.js">
    </script>
    Sinon ça marche pas...A moins que quelqu'un ne me contredise, of course

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/09/2011, 15h52
  2. [A-02] Masque de saisie pour un champ texte
    Par jenniferIUP dans le forum IHM
    Réponses: 5
    Dernier message: 23/02/2009, 09h40
  3. Masque de saisie sur champs auto
    Par sam29 dans le forum Access
    Réponses: 8
    Dernier message: 21/08/2006, 14h25
  4. Probleme d'UPDATE sur un champ text
    Par Nip dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/07/2005, 11h35
  5. Boucler sur des champs texte
    Par syl2095 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 16h15

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