Probleme javascript

Bjr,
Je dois développer une application web, et je suis amené a travailer avec du JS, langage que je ne maitrise pas du tout. Voila ce que je voudrais faire : avec 2 requetes, j'alimente le contenu d'un select. les valeurs sont de 2 types : celles qui contiennent des chiffres, et celles qui contiennent un J+chiffre. Ce que je voudrais, c'est que si l'utilisateur sélectionne un élément commencant par J, un champ texte soit activé (puisqu'il es désactivé par défaut).
Voila ce que j'avais fait :

<script type="text/javascript">
function ChangeStatut(formulaire)
{
Chaine= document.getElementById('mc').options[document.getElementById('mc').
selectedIndex].value
if(Chaine.substring(0,1) == "J") {formulaire.validation.disabled = false }
}
</script>


=> mc c'est le nom de ma liste déroulante
=> validation c'est le nom de mon champ texte

Si quelq'un avait une piste... merci !

3 réponses

  1. Contributeur
    Bonjour,

    Pour résoudre ton problème, sur ta liste 'mc', il faut appeler une fonction JS sur l'événement 'onchange'. La fonction devra récupérer la valeur sélectionner de la liste, et modifier le champ texte en fonction.

    Pour ce faire voici le code HTML:

    
    <script language="javascript">
    function updateField(_listObj_){
     var value = _listObj_.options[_listObj_.options.selectedIndex].value;
     if ( value.substring(0,1) == "J" ){
        document.getElementById("validation").disabled = false;
     }
      else {
        document.getElementById("validation").disabled = true;
     }
    }
    </script>
    
    <select id="mc" onchange="javascript:updateField(this)">
    <option ....>
    <option ....>
    </select>
    
    <input type="text" id="validation" value="" />
    
    


    Code non testé, il se peut que j'ai fais des erreurs d'écriture dedans, mais la manière de faire reste la même (une manière de faire, il y en a certainement d'autres)
    1. Disabled false ?
      Me semble que ca ça existe ca, faut mettre enabled true (qui, même si ça paraît la même chose, ne l'est pas ^^)