Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-03-2011 12:05:37

vince56
Membre
Date d'inscription: 30-11-2010
Messages: 96

[ZF1.9.2]Zend_Form : désactiver bouton

Bonjour,

J'essaie de désactiver un bouton après sa validation, mais je ne vois pas comment faire avec Zend.

Lorsque je clique sur mon bouton, j'ai un traitement qui tourne quelques secondes, et donc certaines personnes (non patientes) clique plusieurs fois sur le bouton, et génère donc plusieurs transactions.

Auriez-vous une solution ?

D'avance merci.

Vince

Dernière modification par vince56 (15-03-2011 09:58:40)

Hors ligne

 

#2 14-03-2011 16:36:17

ubini
Membre
Lieu: gillarens/Suisse
Date d'inscription: 23-01-2008
Messages: 110
Site web

Re: [ZF1.9.2]Zend_Form : désactiver bouton

un javascript qui cache le bouton onclick ?


http://www.easyswap.org - site d'échange de biens et de services conçu avec jQuery et Zend Framework
http://www.lambelet.net - mon blog perso et inutile

Hors ligne

 

#3 14-03-2011 16:46:27

vince56
Membre
Date d'inscription: 30-11-2010
Messages: 96

Re: [ZF1.9.2]Zend_Form : désactiver bouton

à savoir que le bouton est un élément zend_form, alors comment appliquer le javascript ?
merci

Hors ligne

 

#4 14-03-2011 17:17:16

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: [ZF1.9.2]Zend_Form : désactiver bouton

zf c'est du php, cela générère éventuellement du html ou autre, mais cela se pratique côté serveur... là tu parle d'un comportement côté client, il te faut donc du javascript, récupère l'id, met un on submit ou autre

exemple :
$this->addElement('submit', 'submit' array(
'attribs' => array(
'onclick' => 'this.disable="disable"'
)
);


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#5 14-03-2011 17:32:25

vince56
Membre
Date d'inscription: 30-11-2010
Messages: 96

Re: [ZF1.9.2]Zend_Form : désactiver bouton

oui je suis d'accord.
j'ai donc essayé cette solution :

Code:

$form->addElement('submit', 'submit', array(
            'label' => 'Payer',
            'attribs' => array('onclick' => 'form.disable="disable"')))

le bouton n'est pas désactivé ...
où me suis-je trompé ?
merci

Hors ligne

 

#6 14-03-2011 17:35:54

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: [ZF1.9.2]Zend_Form : désactiver bouton

form.disable veux dire que tu désactive le formulaire ...

pour désactiver le bouton fait simplement this.disabled="disabled" ou alors c'est this.disabled=true je ne sais plus trop la syntaxe mais ton moteur de recherche préféré devrait t'aider


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#7 14-03-2011 17:44:38

vince56
Membre
Date d'inscription: 30-11-2010
Messages: 96

Re: [ZF1.9.2]Zend_Form : désactiver bouton

ça ne marche pas non plus.
j'ai testé avec "onclick' => 'this.disable=true'" et onclick' => 'this.disable='disable' mais ça ne change rien, je peux toujours cliquer autant de fois que je veux sur mon bouton ...

Hors ligne

 

#8 14-03-2011 18:02:59

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: [ZF1.9.2]Zend_Form : désactiver bouton

disabled manque un d


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#9 14-03-2011 18:06:54

vince56
Membre
Date d'inscription: 30-11-2010
Messages: 96

Re: [ZF1.9.2]Zend_Form : désactiver bouton

autant pour moi, la désactivation fonctionne désormais, mais le traitement n'est pas lancé ... lol
une idée ?
merci

Hors ligne

 

#10 14-03-2011 18:22:14

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: [ZF1.9.2]Zend_Form : désactiver bouton

j'ai envie de dire : http://www.google.com/search?&q=jav … ble+button

essaye this.disabled=true; return true;


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#11 14-03-2011 19:27:15

Dede
Membre
Date d'inscription: 26-06-2009
Messages: 99

Re: [ZF1.9.2]Zend_Form : désactiver bouton

Bonsoir,
est ce que tu post ton formulaire sur la même page ?
si oui :

Code:

// dans le contrôleur :
...
if($this->_request->isPost() && $form->isvalid($this->_getAllParams())){
    // traitement du formulaire
    // et
    $form->removeElement('submit);
}
...

Si non, il te faut un flag quelque part pour savoir si le formulaire à bien été complété, dans ce cas, if($flag)
@grummfy : il me semble que l'on à déjà eu cette discussion :p http://www.z-f.fr/foru/viewtopic.php?id=6325


« Il ne faut pas lier un navire à une seule ancre, ni une vie à un seul espoir. »
Epictète
http://www.noumcreation.com

Hors ligne

 

#12 14-03-2011 22:20:29

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: [ZF1.9.2]Zend_Form : désactiver bouton

de ce que j'ai compris il veux le désactivé au moment du post non par après ..


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#13 15-03-2011 08:01:41

Dede
Membre
Date d'inscription: 26-06-2009
Messages: 99

Re: [ZF1.9.2]Zend_Form : désactiver bouton

Effectivement, mais la solution Zend reste applicable car au moment du retour sur la page plus de bouton.
Personnellement j'ai un cas avec plusieurs formulaires sur la même page et j'utilise JS/jQuery pour afficher les "submit" à mesure que les formulaires sont validés avec des champs hidden dans chaque formulaires qui me servent de flag.
smile


« Il ne faut pas lier un navire à une seule ancre, ni une vie à un seul espoir. »
Epictète
http://www.noumcreation.com

Hors ligne

 

#14 15-03-2011 09:13:06

vince56
Membre
Date d'inscription: 30-11-2010
Messages: 96

Re: [ZF1.9.2]Zend_Form : désactiver bouton

Bonjour,
comme je disais au départ, le problème est que j'ai des utilisateurs impatients et donc clique plusieurs fois sur le bouton car ils trouvent que cela ne va pas assez vite.
au premier clic, j'aimerais bloquer le clic sur le bouton pour éviter de lancer plusieurs fois le traitement.
Merci

Hors ligne

 

#15 15-03-2011 09:23:08

vince56
Membre
Date d'inscription: 30-11-2010
Messages: 96

Re: [ZF1.9.2]Zend_Form : désactiver bouton

après test, la solution suivante fonctionne :
this.disabled=true; return true;

Merci Grummfy

Hors ligne

 

#16 15-03-2011 09:59:34

vince56
Membre
Date d'inscription: 30-11-2010
Messages: 96

Re: [ZF1.9.2]Zend_Form : désactiver bouton

finalement, ça fonctionne sur mon poste, et sur le serveur, ça ne fonctionne pas ... le bouton devient inactif et aucune action .. et pas de message d'erreur ..
possible que javascript soit désactivé sur mon serveur ? (oui je ne le gère pas)
merci.

Hors ligne

 

#17 15-03-2011 14:06:46

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [ZF1.9.2]Zend_Form : désactiver bouton

Le javascript c'est coté client...

Hors ligne

 

#18 15-03-2011 14:10:33

vince56
Membre
Date d'inscription: 30-11-2010
Messages: 96

Re: [ZF1.9.2]Zend_Form : désactiver bouton

ok mais j'exécute tout cela depuis mon poste ...
alors pourquoi ça fonctionne dans un cas, pas dans l'autre ?

Hors ligne

 

#19 15-03-2011 15:00:46

vince56
Membre
Date d'inscription: 30-11-2010
Messages: 96

Re: [ZF1.9.2]Zend_Form : désactiver bouton

finalement, j'ai réussi sur mon 1er formulaire, mais en faisant la même chose sur le second (et dernier ...), ça ne fonctionne pas. je n'y comprends pas grand chose

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