Bonne journée les gars,
J'ai ce code ici en javascript pour cacher/montrer un champ de saisie:
function HideShow()
{
var Type = document.getElementById("jform_subscription_type");
if(Type.value=="RDS")
{
var x = document.getElementById("jform_frequency").style.display = 'block';
}
else
{
var y =document.getElementById("jform_frequency").style.display = 'none';
}
}
Maintenant ce code fonctionne bien. Mais dans ma forme, ça devient comme ça:
le champ de saisie est en train de doubler. Lorsque je supprime ce code ci-dessous dans mon formulaire, mon code javascript ne fonctionne pas.
<div class="control-group">
<div class="control-label"><?php echo $this->form->getLabel('frequency'); ?> </div>
<div class="controls"><?php echo $this->form->getInput('frequency'); ?></div>
</div>
Comment puis-je faire en sorte que mon code javascript masque l'entrée pour la fréquence avec le code ci-dessus?
J'ai eu la réponse. Il me suffit de définir un identifiant pour la div contenant le champ de saisie que je souhaite masquer et afficher:
<div class="control-group" id ="freq" style = "display:none">
<div class="control-label"><?php echo $this->form->getLabel('frequency'); ?></div>
<div class="controls"><?php echo $this->form->getInput('frequency'); ?></div>
</div>
et puis sur ma fonction javascript, au lieu du champ lui-même, je vais utiliser l'identifiant div.