Je ne trouve pas l'erreur !

Résolu
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 24 mars 2008 à 02:23
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 24 mars 2008 à 12:17
Bonsoir,

Alors voilà, j'ai écrit la petite fonction ci-dessous pour faire faire plusieurs évènements lorsque je choisis une option dans un select. Cette fonction est appelée avec onChange sur le select. Elle devrait écrire dans un champ de texte son contenu et adapter le 3eme champ, description. En fait, si je choisis la premiere option dans mon select, je devrais avoir "choix 1" qui s'affiche dans le champ de texte appelé nom et descrip[0] qui s'affiche dans le champ description. IE me met une erreur, mais je la trouve pas.
merci d'avance pour votre aide.
PS: le formulaire s'appelle modif; le select, dossier.

function syncro()
{
var descrip;
var num;

descrip[0] = 'test';
descrip[1] = 'test3';

document.forms.modif.nom.value=document.forms.modif.dossier.value; // syncronisation entre le select et la case nom

num=document.forms.modif.nom.options.selectedIndex; // récupération du numéro du select choisi
document.forms.modif.description.value=descrip[num]; // idem avec la description

document.forms.modif.description.focus();
}

5 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 mars 2008 à 12:06
là aussi, dèjà :

    var descrip=[];

    tu devrais user du debogger.

    tu aurais pu utiliser le .value des options peut-être....

<script type="text/javascript">
function syncro()
{    var num=document.modif.dossier;
    document.modif.nom.value =
        num.options[num.selectedIndex].text;
    document.modif.description.value =
        num.options[num.selectedIndex].value;
    document.modif.description.focus();
}
</script>
      <form name="modif" method="post" action="">
       
Modifier les informations de
          <select name="dossier" id="dossier" class="text" onChange="syncro()">
            <option selected value='fdsfjdjl'>test</option>
        <option value='afdaskfjkl'>test2</option>
        <option 'afiwsonsi'>test3</option>
          </select>
         

         

          Nom :
         
          (modifiez pour renommer)

         

          Description du voyage (500 caract&egrave;res max.) :
         
         

         

         
       

      </form>

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
3
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
24 mars 2008 à 02:32
je viens de trouver une erreur:

dans cette ligne, c'est dossier et pas nom:

num=document.forms.modif.nom.options.selectedIndex;

mais ca marche toujours pas...
donc ma fonction pour l instant c est:

function syncro()
{
var descrip;
var num;

descrip[0] = 'test';
descrip[1] = 'test3';

document.forms.modif.nom.value=document.forms.modif.dossier.value; // syncronisation entre le select et la case nom

num=document.forms.modif.dossier.options.selectedIndex; // récupération du numéro du select choisi
document.forms.modif.description.value=descrip[num]; // idem avec la description

document.forms.modif.description.focus();
}
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 mars 2008 à 08:47
Bonjour,

    si on avait le formulaire... ça nous éviterais de le faire....
       ( et peut-être d'une manière différente du tien ? )

    document.forms.modif.nom.value=document.forms.modif.dossier.value;
            // syncronisation entre le select et la case nom
    euh.....
    document.modif.nom.value=document.modif.dossier.options[document.modif.dossier.selectedIndex].text;
       ou .value ( oublions les abréviations dans un 1er temps ! )
             mais tout ça dépend.... du formulaire !

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
24 mars 2008 à 11:45
function syncro()
{
var descrip;
var num;

descrip[0] = 'fdsfjdjl';
descrip[1] = 'afdaskfjkl';
descrip[2] = 'afiwsonsi';

document.modif.nom.value=document.modif.dossier.options[document.modif.dossier.selectedIndex].text; // syncronisation entre le select et la case nom

num=document.modif.dossier.options.selectedIndex;
document.modif.description.value=descrip[num]; // idem avec la description

document.modif.description.focus();
}

et le formulaire:

<form name="modif" method="post" action="">
<div align="left">Modifier les informations de
<select name="dossier" id="dossier" class="text" onChange="syncro()">
<option selected>test</option>
<option>test2</option>
<option>test3</option>
 </select>
<br>
<br>
Nom :
<input type="text" class="text" name="nom" id="nom" value="test">
(modifiez pour renommer)<br>
<br>
Description du voyage (500 caract&egrave;res max.) :
<input name="description" type="text" class="text" id="description" value="" size="70" maxlength="500">
<br>
<br>
<input name="Enregistrer" type="submit" class="bouton" id="Enregistrer" value="Enregistrer">
</div>
</form>

Voilà, là il y a tout, j ai essayé de faire encore des modifs, mais ca passe pas.
Si jamais, le tableau descrip est rempli en php, parce qu il doit lire dans des fichiers, mais ca c est le
résultat quand je met afficher la source depuis le navigateur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
24 mars 2008 à 12:17
Merci beaucoup! Tout est ok et marche correctement.

PS: Très pratique ton site au passage ;-)
0
Rejoignez-nous