Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-03-2008 14:26:50

bertra
Membre
Date d'inscription: 06-02-2008
Messages: 130

Zend_Form[1.5]Equivalent d'un submit avec 2 choix

Bonjour,
je cherche a faire un formulaire de confirmation du genre :

Code:

<input type="submit" name="choix" value="Oui" />
<input type="submit" name="choix" value="Non" />

en utilisant Zend_Form.
Ca me donne quelque chose du genre :

Code:

$choix = new Zend_Form_Element_Submit("choix");
$choix->setValue("Oui");
$this->addElement($choix);

Mais je ne sais pas comment ajouter la deuxième valeur 'Non'.
Est ce possible ?
A chaque fois que je veux utiliser un des composants forme, c'est un peu la galère car je ne sais pas ou aller cherche ce genre d'information.

Hors ligne

 

#2 19-03-2008 15:14:18

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: Zend_Form[1.5]Equivalent d'un submit avec 2 choix

Pourquoi faire 2 boutons et pas faire un input radio ?

Hors ligne

 

#3 19-03-2008 15:19:14

bertra
Membre
Date d'inscription: 06-02-2008
Messages: 130

Re: Zend_Form[1.5]Equivalent d'un submit avec 2 choix

oui, c'est bien 2 boutons que je veux.
Pas de problème pour les input radio :)

Hors ligne

 

#4 20-03-2008 11:38:58

Peggy
Membre
Date d'inscription: 11-02-2008
Messages: 25
Site web

Re: Zend_Form[1.5]Equivalent d'un submit avec 2 choix

bonjour,

Pour tes deux boutons tu peux faire

Code:

$choix = new Zend_Form_Element_Submit("choixOui");
$choix->setValue("Oui");
$this->addElement($choix);

$choix = new Zend_Form_Element_Submit("choixNon");
$choix->setValue("Non");
$this->addElement($choix);

et dans ton controleur tu peux savoir quel bouton a été cliqué en faisant :

Code:

if (isset($_POST['choixOui']))
{
     echo "le bouton Oui a été cliqué";
}

Biensur si tu a mis la methode POST à ton formulaire sinon tu remplace POST par GET.
voilà j'espere que j'ai pu t'aider.

Hors ligne

 

#5 20-03-2008 17:48:44

bertra
Membre
Date d'inscription: 06-02-2008
Messages: 130

Re: Zend_Form[1.5]Equivalent d'un submit avec 2 choix

Merci pour cette proposition.
Effectivement je ne vois pas d'autre solution.
Le Zend_Form ne semble pas permettre de faire un submit avec 2 boutons.

Hors ligne

 

#6 20-03-2008 21:55:51

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: Zend_Form[1.5]Equivalent d'un submit avec 2 choix

Si mais c'est pas logique d'avoir le meme name avec 2+ valeurs pour un element qui n'est pas prévue pour tongue

Sémantiquement parlant, le bouton radio, le select et la checkbox serai plus approprié mais là on sort du débat.

Hors ligne

 

#7 22-03-2008 10:12:47

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Zend_Form[1.5]Equivalent d'un submit avec 2 choix

ce n'est pas Zend qui impose ça mais HTTP

Code:

$choix = new Zend_Form_Element_Submit("submitButton");
$choix->setValue("Oui");
$this->addElement($choix);

$choix = new Zend_Form_Element_Submit("submitButton");
$choix->setValue("Non");
$this->addElement($choix);

au passage il est préférable d'utiliser

Code:

$this->_requester->get('submitButton');

que les varriables POST GET et autres variable système le requester est justement là pour ça si vous voulez savoir comment est arrivé la valeur il y a des methode isPost isXmlHttpRequest etc.

le requesteur http peu alors être remplacé pour accepter d'autre mode comme par exemple le mail.

notez enfin qu'on peut donner le même nom à plusieurs champs de formulaire c'est particulièrement intéressant sur les bouton submit puisque un seul peut être activé cela permer avec la valeur de savoir lequel
dans mon exemple j'utilise submitButton et la valeur seule me permet de savoir quel bouton à été pressé.

c'est aussi intéressant sur les bouton radio

Code:

<input type="checkbox" name="check[]" value="1" id="ch1"><label for="ch1">Un</label>
<input type="checkbox" name="check[]" value="dos" id="ch2"><label for="ch2">Deux</label>
<input type="checkbox" name="check[]" value="autre" id="ch3"><label for="ch3">Trois</label>

sous php on récupère alors un tableau avec les valeur 1 et/ou 2 et/ou 3

Code:

print_r($this->_request->get('check'));

array => {
   0 => '1',
   1 => 'autre'
}

A+JYT

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages