26/06/2015, 01:16:49
Salut jissey,
Dans le template, le select est créé avec ceci : <p class="pageinput">{$inputcategory}</p>
Le problème est qu'il n'y a pas d'id sur le select et onchange est ajouté à partir de action.addarticle.php, qui n'est pas un template...
Voir l'apidoc
Ce qui donne en sortie :
J'ai essayé d'ajouter changementCategory() ou un ID dans $onchangetext (voir le post #6 , mais ça renvoie une erreur).
Le seul moyen que j'ai trouvé est de modifier la classe dans le fichier \lib\classes\module_support\modform.inc.php ce qui est, bien entendu, impensable :p
Sans le getElementByID et le onchange(), ça me paraît bien compliqué
Je crois qu'il vaut mieux se tourner vers JQuery et oublier JS, ou mieux, abandonner l'idée de cacher les champs inutiles :p
Dans le template, le select est créé avec ceci : <p class="pageinput">{$inputcategory}</p>
Le problème est qu'il n'y a pas d'id sur le select et onchange est ajouté à partir de action.addarticle.php, qui n'est pas un template...
Code :
$onchangetext='onchange="document'.$id.'moduleform_1.submit()"';
[...]
$smarty->assign('inputcategory', $this->CreateInputDropdown($id, 'category', $categorylist, -1, $usedcategory, $onchangetext));
Ce qui donne en sortie :
Code :
<select class="cms_dropdown" onchange="documentm1_moduleform_1.submit()" name="m1_category">
<option value="1">Générale</option>
<option value="2">test</option>
</select>
Le seul moyen que j'ai trouvé est de modifier la classe dans le fichier \lib\classes\module_support\modform.inc.php ce qui est, bien entendu, impensable :p
Sans le getElementByID et le onchange(), ça me paraît bien compliqué
Je crois qu'il vaut mieux se tourner vers JQuery et oublier JS, ou mieux, abandonner l'idée de cacher les champs inutiles :p