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 :

Zend_Dojo_Form_Element_Checkbox relié à un Zend_Dojo_Form_Element_Text


Sujet :

Zend_Form PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut Zend_Dojo_Form_Element_Checkbox relié à un Zend_Dojo_Form_Element_Text
    Bonjour,

    Je recherche actuellement une solution à un problème tout simple. Je souhaite géré une liste de cases à cocher. Si la case est cochée, j'active un champ de type texte qui lui est associé. L'utilisateur peut alors y saisir une valeur décimale. Si la case est décochée, le champ est désactivé.

    Dans la fonction de persistance du formulaire (persistData), je souhaite sauvegarder uniquement les valeurs dont la case est cochée. Les champs dont la case n'est pas cochée ne sont pas sauvegardé. Je sais comment je vais gérer cela dans cette fonction. Seulement, je ne sais pas comment, ni où mettre en place et gérer le javascript qui va me permettre de dire "L'utilisateur vient de cocher la 17ème case à cocher, j'active le 17ème champ texte" ni "l'utilisateur vient de décocher la 13ème case à coche, je désactive le 13ème champ texte.

    Selon vous, quelle serait la meilleure pratique ? Ça m'ennuie de gérer cela directement dans la vue qui se limite actuellement à un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->form; ?>
    J'aimerai gérer cela dans ma classe de formulaire Application_Form_Agents qui hérite de Zend_Dojo_Form. Mais je ne vois pas comment m'y prendre. Une idée ?

    Merci !
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  2. #2
    Membre averti
    Femme Profil pro
    -
    Inscrit en
    Septembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : -

    Informations forums :
    Inscription : Septembre 2008
    Messages : 17
    Par défaut
    J'ai peur de dire une bêtise mais, ne faut-il pas simplement utiliser un fichier javascript inclut dans ton action ?

    Le fichier javascript utiliserait la class css des cases à cocher pour binder un evenement onclick qui prendrait le prochain élément de type text dans l'arborescence html (un petit coup de .next('input') sur la sélection en cours) et le tour est joué, non ?

    Je n'ai jamais utilisé dojo mais il utilise sizzle comme jquery tu devrais donc avoir quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $(".checkboxClass").bind("click", function (event){
        var nextInput = $(this).next('input');
        nextInput.prop('disabled', (nextInput.prop('disabled') == true));
    });

Discussions similaires

  1. Connexion Impossible a la BDD entre 2pc relié encâble croisé
    Par baba dans le forum Connexion aux bases de données
    Réponses: 8
    Dernier message: 20/02/2007, 23h40
  2. Réponses: 2
    Dernier message: 07/12/2005, 13h25
  3. 2 listes deroulante reliées
    Par letudiant1 dans le forum ASP
    Réponses: 2
    Dernier message: 25/11/2005, 20h47
  4. Réponses: 2
    Dernier message: 17/11/2005, 09h59
  5. Comment relié un DBChart à une requête SQL
    Par bigfoot dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/12/2004, 10h20

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