Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bon je ne savais pas exactement si je devais placer ce post ici ou dans les composant de Zend
En fait, je cherche à mettre en plce une petite manip:
- tout d'abord pour mon objet form, je possède un champ de type radio que j'aimerai initialiser à la valeur 0 et un champ de type text que j'aimerai desactiver par défaut.
- ensuite vous l'aurai peut etre deviné lorsque j'affiche mon formulaire, en fonction du choix sur le bouton radio j'aimerai activer ou désactiver le champ de type text
Quelqu'un a-t-il déjà manipulé quelque chose du genre, auriez-vous des informtaions à me fournir?
Merci d'avance
Dernière modification par matdev (11-05-2009 14:26:41)
Hors ligne
Niveau zend_form tu définis des "id" pour tes éléments radio et input text.
Ensuite c'est du jquery, tu désactives le champ texte si le bouton radio n'est pas sélectionné, sinon tu l'actives.
Hors ligne
merci nick de ta réponse et on est d'accord sur le principe
mon problème est surtout que je ne parviens pas à trouver d'informations sur comment passer une valeur par défaut lorsqu'on utilise Zend_Form et aussi comment on modifie l'etat actif ou non d'un champ avec JQuery
Hors ligne
bon pour la partie JQuery et l'activation désactivation de champs ça c ok j'ai trouvé quelques exemples sympa
par contre comment dois-je m'y prendre pour initialiser mon champ radio a 0 et mettre mon champ text en disable par défaut ???
L'initialisation de la valeur des champs c ok aussi au chargement de ma page
Par contre je ne trouve rien pour désactiver mon champ texte à l'ouverture de ma page, quelqu'un a-t-il une idée ???
Dernière modification par matdev (11-05-2009 11:45:46)
Hors ligne
voilà ce que j'utilise avec jquery pour activer ou non mon champs text en fonction de mon radio
$(document).ready(function(){ $("input#type_utilisateur-0").change(function(){ if($("input[@type=radio]#type_utilisateur-0[@checked]").val()){ $("input#Clients_id").attr("disabled", "disabled"); $("dt#Clients_id-label").hide(); $("dd#Clients_id-element").hide(); } }); $("input#type_utilisateur-1").change(function(){ if($("input[@type=radio]#type_utilisateur-1[@checked]").val()){ $("input#Clients_id").removeAttr("disabled"); $("dt#Clients_id-label").show(); $("dd#Clients_id-element").show(); } }); });
mais je ne parviens pas à désactiver le champ text dès l'ouverture de la page alors que mon radio est à 0
Hors ligne
beh, normal, donc code réagi à un évènement onChange. Au chargement de la page, je ne pense pas qu'il y est d'évènement onchange, donc ton code n'est pas appelé.
Place ton code dans une fonction et apelle cette fonction au chargement de la page
Hors ligne
je sais que le code ci-dessus ne va rien faire au chargement de la page. ce que je demande c'est justement ce que je devrai mettre car j'ai essayé plusieurs choses mais rien ne marche :
$(document).load(function(){ $("input#Clients_id").attr("disabled", "disabled"); $("dt#Clients_id-label").hide(); $("dd#Clients_id-element").hide(); });
$(document).ready(function(){ $("input#type_utilisateur-0").load(function(){ $("input#Clients_id").attr("disabled", "disabled"); $("dt#Clients_id-label").hide(); $("dd#Clients_id-element").hide(); }); $("input#type_utilisateur-0").change(function(){ if($("input[@type=radio]#type_utilisateur-0[@checked]").val()){ $("input#Clients_id").attr("disabled", "disabled"); $("dt#Clients_id-label").hide(); $("dd#Clients_id-element").hide(); } }); $("input#type_utilisateur-1").change(function(){ if($("input[@type=radio]#type_utilisateur-1[@checked]").val()){ $("input#Clients_id").removeAttr("disabled"); $("dt#Clients_id-label").show(); $("dd#Clients_id-element").show(); } }); });
Hors ligne
Bon finalement c'est ok, j'ai du mal à comprendre l'informatique parfois une autre méthode que j'avai testé ce matin et qui n'avait pas fonctionné, fonctionne à présent.
Croisons les doigts pour que ça ne fasse pas l'effet inverse
Dernière modification par matdev (11-05-2009 13:50:02)
Hors ligne
Pages: 1