web-dev-qa-db-fra.com

L'attribut showon JForm ne fonctionne pas dans le site d'administration

J'ai un champ de formulaire qui doit être affiché en fonction de la valeur sélectionnée pour un autre champ. Par exemple

<field name="field1" type="list" label="LABEL1" description="DESC1" filter="intval" size="1" default="0" class="form-control">
  <option value="0">Option 0</option>
  <option value="1">Option 1</option>
</field>
<field name="field2" showon="field1:1" type="list" label="LABEL2" description="DESC2" filter="intval" size="1" default="0" class="form-control">
  <option value="3">Option 3</option>
  <option value="4">Option 4</option>
</field>

Dans mon code ci-dessus, champ2 sera affiché uniquement lorsque la valeur de champ1 est 1. Cela fonctionne très bien à partir de la forme front-end. Cependant, le même formulaire ne fonctionne pas dans mon composant d'administration. Faut-il charger un fichier JavaScript spécial pour que cela fonctionne?

1
Nagarjun

Trouvé quel est le problème. J'utilisais la fonction getInput pour afficher le champ.

$this->form->getInput('field2'); 

mais attribut showon ne fonctionne que si je rends le champ en utilisant la fonction renderField

$this->form->renderField('field2'); 

J'espère que cela aide quelqu'un confronté au même problème

7
Nagarjun