Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Modifier un control jForm dans un controlleur

Posted by yferp on 04/21/2008 10:59

Bonjour

Je souhaite modifier une instance de jForms dans un controleur : en fonction de certaines variables, je voudrais changer la valeur par défaut d'un radioboutton et appliquer un readonly..

pour modifier la valeur par défaut,en fouillant dans l'API j'ai essayé la méthode getcontrol mais je n'arrive pas à l'utiliser : après moult essais je n'ai pas d'erreurs mais rien ne bouge..

Pour ce qui est du readonly sur la menulist, d'après la doc c'est réalisable mais même en modifiant le fichier xml, il est encore possible de sélectionner une autre valeur..bug?

Merci de votre aide

  [Opened] Re: Modifier un control jForm dans un controlleur

Reply #1 Posted by laurentj on 04/21/2008 14:56

Salut,

Les contrôles sont des classes héritant de jFormsControl. Et tu obtiens un contrôle en faisant un getControl comme tu as fait. Regarde la doc de référence pour en savoir plus sur ces objets

  $form->getControl('toto')->readonly=true;
  $form->getControl('toto')->defaultValue='foo';

Par contre, la valeur par défaut n'est utilisée QUE lorsque tu crée un formulaire (jForms::create). Après, il est inutile de la changée car non pris en compte. Si tu veux changer la valeur d'un controle, tu fais un $form->setData.

  [Opened] Re: Modifier un control jForm dans un controlleur

Reply #2 Posted by yferp on 04/21/2008 15:17

Merci pour ta reponse.

J'avais fait exactement ce que tu viens d'écrire mais apparemment les modifications n'étaient pas prises en comptes pour l'affichage.. du coup j'ai résolu le problème du defaultvalue avec setData. Par contre je n'arrive pas à désactiver un control menulist.

EDIT : d'ailleurs.. l'option readonly sur les select semble inefficace

  [Opened] Re: Modifier un control jForm dans un controlleur

Reply #3 Posted by yferp on 04/22/2008 09:25

l'attribut readonly est bien présent dans le HTML généré pour le select.. et ça ne marche ni sous IE7 ni sous Firefox 2.0.X.

en même temps l'élément select n'accepte pas d'attribut readonly (c'est monsieur google qui le dit).. et je n'ai pas trouvé de fonction dans jform.js qui s'en occupe donc ça parait normal que ça ne marche pas:D

  [Opened] Re: Modifier un control jForm dans un controlleur

Reply #4 Posted by laurentj on 04/22/2008 11:17

Oui exact, je viens de le vérifier dans la spec HTML, l'attribut readonly n'est permis que sur input et textarea... Je corrigerai ça.

  [Opened] Re: Modifier un control jForm dans un controlleur

Reply #5 Posted by yferp on 04/22/2008 12:11

Merci pour tes reponses

 
Page
  1. Re: Modifier un control jForm dans un controlleur