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 :

[ZF 1.8.2] Combo box et redirection auto


Sujet :

Zend_Form PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut [ZF 1.8.2] Combo box et redirection auto
    Bonjour,

    Je débute complétement en Php et en Zend. Aidé (et même plus que cela) par un ami, j'ai pu remplir une combo box (une bien grande victoire déjà).

    Voici le code de mon formulaire :

    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
     
    class Default_Form_ChooseService extends Zend_Form {
     
    	public function __construct($userId, $options = null) {
    		parent::__construct($options);
     
    		$services = Default_Model_Service_ClinicService::getInstance()->getServices($userId);
    		$names = array();
    		foreach($services as $service) {
    			$names[$service->getServiceId()] = $service->getServiceName();
    		}
     
    		$name = new Zend_Form_Element_Select('serviceId');
    		$name->setLabel('Service : ')
    		->setRequired(true)
    		->setMultiOptions($names);
     
     
    		$this->addElements(array($name));
    	}
    et pour l'afficher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $this->viewBannerForm; ?>&nbsp;

    J'aimerais maintenant que lorsqu'un utilisateur fait un choix dans cette combo box, il soit redirigé sur une page.

    J'ai cherché un peu partout mais je me suis heurté (fort) sur le mur de mon incompétence

    Merci d'avance.

  2. #2
    darthmower
    Invité(e)
    Par défaut
    Salut,

    Je ne comprends pas vraiment ce que tu veux faire:

    • Veux-tu que lorsque tu as coché cela redirige automatiquement?
    • veux-tu que lorsque tu as coché et appuyez sur le bouton du formulaire cela redirige?


    Dans le premier cas c'est du javascript et dans le deuxième c'est via l'utilisation de class formulaire Zend.

    Peux-tu donc apporter quelques précisions.

    Gripsou

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut
    Je voudrais qu'une fois la ligne sélectionnée dans la combo box, l'utilisateur soit redirigé automatiquement (pas de bouton submit).

    Tu me conseille le javascript, je recherche une solution dans ce genre.

    Merci pour ton aide.

    Edit : arrgh

    j'ai trouvé le code suivant mais il doit être intégré à la création de la combo box :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <select name="Choix"
     size=4
       onchange="document.location.href=this[this.selectedIndex].value;">
    <optgroup label="Choix où aller">
     <option value="mon/'>http://toto.fr">toto</option>
     <option value="titi.fr/">titi</option>
     <option value="../exemple/page.htm">page interne</option>
    </optgroup>
    </select>
    Or ma combo box est créée dans ma classe formulaire.

    Je ne vois pas trop comment faire (peut être ne pas faire générer ma combo box par zend et bidouiller, mais je préférerais éviter)

  4. #4
    Membre actif Avatar de Alshten
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 157
    Points : 233
    Points
    233
    Par défaut
    Citation Envoyé par brainstorm Voir le message
    Je ne vois pas trop comment faire (peut être ne pas faire générer ma combo box par zend et bidouiller, mais je préférerais éviter)
    Non c'est très simple, rajoute juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $name->setAttrib('onchange','document.location.href=this[this.selectedIndex].value;');
    Avec la méthode setAttrib, on peut manipuler n'importe quel attribut des éléments HTML.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Points : 230
    Points
    230
    Par défaut
    Oui, il y a la solution de seter des attributs pour les éléments d'un form, mais aussi de charger un fichier .js qui déclare un observateur sur le "change" du combobox.

Discussions similaires

  1. modification d'un combo box
    Par bourguy dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/02/2005, 16h14
  2. Réponses: 2
    Dernier message: 23/06/2004, 13h56
  3. [VB.NET] Choisir les valeurs des items d'un combo box?
    Par Eithelgul dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/06/2004, 10h13
  4. Réponses: 2
    Dernier message: 11/05/2004, 11h17
  5. Combo box et liste de valeurs contenues dans ma table
    Par TieumB dans le forum C++Builder
    Réponses: 14
    Dernier message: 05/04/2004, 18h47

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