11544 sujets

JavaScript, DOM et API Web HTML5

Salut à tous.

En gros j'ai ça :

<form>
<select onchange="check_autre(this.options[this.selectedIndex].value);" name="menu" id="titi">
  <option value="rien">choix</option>
  <option value="régisseur">Régisseur</option>
  <option value="régisseur adjoint">Régisseur adjoint</option>
  <option value="autre">autre</option>
</select>
<span id="toto">Précisez: <input type="text" name="precision" /></span>
</form>

Et je voudrais n'afficher le span que si on sélectionne "autre".

J'ai un truc qui fonctionne en utilisant getElementById mais cela ne fonctionne pas si j'ai plusieurs formulaires.
<script type="text/javascript">
function check_autre(option_selected) {
  if(option_selected == 'autre') {
    document.getElementById('toto').style.display = 'block';
  } else {
    document.getElementById('toto').style.display = 'none';
  }
}
window.onload = function() {
  document.getElementById('toto').style.display = 'none';
}
</script>

Il faudrait un truc du genre getElementByClass ???

J'ai essayé en utilisant jQuery et .addClass qui ajoute un class à mon span (genre .visible {display:block;}).
Mais je n'arrive pas à utiliser cette fonction selon la valeur value="autre". En gros faire un test si value="autre" j'ajoute la classe .visible sinon .masque (genre .masque{display:none; })

Je suis un peu une bille en javascript il est vrai. Merci pour les pistes.

Merci.
Modifié par Damino (19 Apr 2010 - 14:20)
Salut,

Tu peux toujours passé en second paramètre l'id du span. et à la place de faire 'toto', mettre le second paramètre.
Ou mettre tout le java-script en dehors du html et parcourir le DOM pour récupéré le span qui aura par exemple une classe pour le reconnaitre (ce qui demande un peu plus de connaissances).