Essaye avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ->addFilter(new Zend_Filter_StringToUpper())
Essaye avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ->addFilter(new Zend_Filter_StringToUpper())
ça n'a pas fonctionner, par contre pas d'erreur,
j'ai fait plus simple
je ne pense pas que cela soit grave que j'utlise hors zend
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $debut = $request->getParam('term'); $debut= strtoupper($debut);
une fois que je valide mon formulaire comment je récupère la case préremplit de la commune ?
j'ai essayer ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $commune = new ZendX_JQuery_Form_Element_AutoComplete('commune');
mais sans succès, il faut instancier encore quelque chose pour savoir ce que l'on à sélectionner ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 //controller if ($this->getRequest()->isPost()) { $form_commune->getJQueryParams(); } // ou if ($this->getRequest()->isPost()) { $form_commune->getValue('commune'); }
Que veux tu dire par récupérer?
Sinon attention tu mets commune puis form_commune
en effet j'avais oublité le form_
en fait je souhaite récupérer si je tape "ly" , la ville "lyon", pour afficher, vous avez selectionner "lyon"
en essayant de faire ceci
j'ai NULL sur le dump
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if ($this->getRequest()->isPost()) { echo "saisie ok, on a cliquer sur envoyer"; echo "vous avez saisie dans la liste déroulante la commune"; Zend_Debug::dump($this->getRequest()->getPost('commune')); }
j'a regarder le code source
il faut bien passer par post pour récuper la selection?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form enctype="application/x-www-form-urlencoded" action="" method="post"><dl class="zend_form"> <dt id="commune-label"><label for="commune" class="optional">commune :</label></dt>
Je ne me suis jamais servis de l autocomplete pour ça c etait seulement pour des filtres.
Il faut que tu regarde si il y a un input avec firebug sinon tu n enverra jamais celui ci
j' ai pas réussi a récupérer par ce que je n'ai pas instancier Zend_form_Element_Submit.
j'avais juste crée un formulaire qui contenait uniquement un bouton valider
et j'appelllais succésivement mes formulaire comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php class Application_Form_Valider extends Zend_Form { public function init() { $valider = new Zend_Form_Element_Submit('valider'); $valider->setLabel('Valider'); $this->addElements(array($valider)); } }
en ajoutant au formulaire comment un bouton supplémentaire, je peux enregister le nom de la commune par $resultat['commune'], (mais j'ai 2 bouton valider dans ma page )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $form1 = new Zend_Form_form1(); $form2 = new Zend_Form_form2(); $form3 = new Zend_Form_form3(); //le bouton qui permet de récupérer toute les champs $bouton = new Zend_Form_vaider();
maintenant je peux enregister le nom de la commune par $resultat['commune'],
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if ($this->getRequest()->isPost()) { echo "saisie ok"; // Zend_Debug::dump( $form_commune->getJQueryParams()); $resultat = $this->_request->getPost(); echo $resultat['commune']; }
comment on s'y prend si appelle 3 formulaires sans avoir à crée 3 bouton valider ? dans
chacune des ces class form
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 //form1 $valider = new Zend_Form_Element_Submit('valider'); $valider->setLabel('Valider'); $this->addElements(array($valider,$reponse1)); //form2 $valider = new Zend_Form_Element_Submit('valider'); $valider->setLabel('Valider'); $this->addElements(array($valider,$reponse2)); //forme3 etc...je pourrais regrouper mes 3 formulaires, mais je ne trouve pas pratique pour essayer de cloisonner les formulaires .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 //on fait appelle a 3 formulaire dans la même page $form1 = new Zend_Form_1(); //envoie à la même vu $form2 = new Zend_Form_2() //envoie à la même vu $form3 = new Zend_Form_3(); //envoie à la même vu
Je pense que j'utilise mal la class From je pense qu'il faut pas que j'utilise son init
je vais essayer de voir ce que ça donne si je fait un seul sumbit, sil les infos sont bien transmit
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
21 <?php class Application_Form_Questionnaire extends ZendX_JQuery_Form { public function init() { //je laisse vide } public funciton question1() { } pubic function question2() { } public function question3() { }
Trois formulaire en html standard sont chacun distinct donc ça sera identique sous Zend tu devrais créer des subform
j'ai donc essayer ce que tu m'a dit
j'ai pas d'erreur de syntax, mais il me dit que la methode identite n'existe pas
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
21
22
23 <?php class Application_Form_Carnetadresse extends Zend_Form { protected $liste_civilite=array('1'=> 'Madame', '2' =>'Monsieur', '3'=>'Mademoiselle', '4'=>'Non Communiqué'); public function init() { $identite = new Zend_Form_SubForm(); $identite->addElements(array( new Zend_Form_Element_Select('civilte', $this->liste_civilite )), new Zend_Form_Element_Text('nom',array( 'required'=>true, 'label'=>'nom: ') ) ); } }
Il doit te falloir quelque chose du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $this->addSubForms(array('identite' => $identite));
j'ai mis tout en bas addsubform, ça fonctionne
miantenant c'est délicat car comment on peut bien intégrer l'autcompletion
ou je dois mettre ceci
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 $commune = new Zend_Form_SubForm(); $commune->addElements(array( new new ZendX_JQuery_Form_Element_AutoComplete('commune', array( 'required' => true, 'label' => 'commune (sans accent)', 'filters' => array('StringTrim', 'StringToUpper'), 'validators' => array( 'Alnum', array('Regex', false, array('/^[A-Z]/')) ) )), ));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ->setJQueryParams(array('source' => 'index/rechcommune', 'minLength' => 2,
au lieux de faire :
Sotkce le dans une variable sur laquelle tu fera :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 new ZendX_JQuery_Form_Element_AutoComplete('commune', array( 'required' => true, 'label' => 'commune (sans accent)', 'filters' => array('StringTrim', 'StringToUpper'), 'validators' => array( 'Alnum', array('Regex', false, array('/^[A-Z]/')) ) ))
Et ensuite tu l'ajoutera à ton subform
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ->setJQueryParams(array('source' => 'index/rechcommune', 'minLength' => 2,
Bonsoir,
HTML5 gère également l'autocomplete de manière très simple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <input list="listeCommune"/> <datalist id="listeCommune"> <?php foreach ($commune as $val) { echo '<option value="' . $val . '">'; } ?> </datalist>
merci sam c'est toujours bon à savoir, mais je pense que tous les navigateur n'accepte pas le HTML5 c'est dommage
5h4rk tu me dit de mettre le ce petite monde dans une variable ?
mais en php on à la droit de faire ça??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 protected $variable = new ZendX_JQuery_Form_Element_AutoComplete('commune', array( 'required' => true, 'label' => 'commune (sans accent)', 'filters' => array('StringTrim', 'StringToUpper'), 'validators' => array( 'Alnum', array('Regex', false, array('/^[A-Z]/')) ) ));
je sais qu'en java je peux le faire mais avec php ??
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 classA { public function parle_a() { echo "je travail pour A"; } } classB { $je_suis_a = new classA()->parle_a(); public function appelle_a() { echo $this->je_suis_a; } }
si je fait ceci
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
21 <?php class Application_Form_Carnetadresse extends Zend_Form { protected $liste_civilite = array('1' => 'Madame', '2' => 'Monsieur', '3' => 'Mademoiselle', '4' => 'Non Communiqué'); protected $json = new ZendX_JQuery_Form_Element_AutoComplete('commune', array( 'required' => true, 'label' => 'commune (sans accent)', 'filters' => array('StringTrim', 'StringToUpper'), 'validators' => array( 'Alnum', array('Regex', false, array('/^[A-Z]/')) ) ));voici ma class entière au cas ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Parse error: syntax error, unexpected T_NEW in /var/www/myboutik/application/forms/Carnetadresse.php on line 10
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 <?php class Application_Form_Carnetadresse extends Zend_Form { protected $liste_civilite = array('1' => 'Madame', '2' => 'Monsieur', '3' => 'Mademoiselle', '4' => 'Non Communiqué'); public function init() { // ===========nom ============= $identite = new Zend_Form_SubForm(); $identite->addElements(array( new Zend_Form_Element_Text('nom', array( 'required' => true, 'label' => 'nom (sans accent):', 'filters' => array('StringTrim', 'StringToUpper'), 'validators' => array( 'Alnum', array('Regex', false, array('/^[A-Z]/')) ) )), // =========== prenom============= new Zend_Form_Element_Text('prenom', array( 'required' => true, 'label' => 'prénom:', )), // =========== civlite============= new Zend_Form_Element_Select('civlite', array( 'label' => 'civlité', 'multiOptions' => $this->liste_civilite, )), )); $this->addSubForms(array( 'identite' => $identite, )); } }
Quand tu veux ajouté un élément à un formulaite tu dois bien faire quelque chose du style :
En gros c'est un peu ça que je veux dire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $element = $this->createElement('text','ton id'); $element->setLabel('ton label'); $this->addElement($element);
gymnastique des neurones ...
tu veux dire que je sorte de add élément, et que je remplace par l'un des éléments
array par une variable?
donc la fameuse methode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $formulaire = new Zend_Form_SubForm(); //ici on charge avant la fameuse methode $formulaire->addElements(array('toto',array( 'label'=>'quelquechose, 'filter'=>'pas d'espace, $variable));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $variable = new ZendX_JQuery_Form_Element_Autocomplete('chouette'); $varible-->setJQuertyParam(array('souce'=>'lasrouce');
Revois les bases avec Zend_Form je veux bien aider mais il y a des limites
Au lieu de créer directement tes elements au moment ou tu les ajoute dans le addElement créé les avant et dans le addElement tu mettra les elements créés.
Avec tout ce que je t ai dis tu as tout ce qu il faut
ça y' est ca fonctionne, tu m'a donné la bonne facon de faire, je n'aurai jamais penser de déporter tous ça dans une variable
merci encore
je clos ce pote, il me faut maintenant m'occuper de l'enregistrement de la base
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager