IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Modification d'un textarea d'après un select


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Modification d'un textarea d'après un select
    Bonjour,

    J'ai un formulaire nommé "form1" en method "post", dans ce dernier j'ai une liste déroulante nommé "option1" et un champ de texte nommé "text".

    Je voudrais que lorsque l'utilisateur choisisse une option dans la liste déroulante, la valeur par défaut du champ de texte soit modifié en fonction. Le but est de donner un texte pour l'email, que l'administrateur puisse modifier.

    Voici mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function changement()
    {
       if (document.form1.options1.value == 0 )
    {
          document.form1.text.value="Choisissez une option";
    	  alert('Ca vaut 0');
     
    }
    else if (document.form1.options1.value == 1 )
    {
    	  alert('Ca vaut 1');
          document.form1.text.value="Bonjour,
     
    Votre inscription a été refusé
     
    Meilleures salutations";
    }
    else if (document.form1.options1.value == 2 )
    {
    	  alert('Ca vaut 2');
          document.form1.text.value="Bonjour,
     
    Votre inscription a été accepté
     
    Meilleures salutations";
    }
    //-->
    </script>
    ********
    mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="form1" id="form1" method="post" action="inscription.php">
    mon select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select name="options1" id="options1" onChange="changement()">
    <option value="0">Que désirez vous faire avec cette inscription ?</option>
    <option value="1">La refuser immédiatement</option>
    <option value="2">L'accepter maintenant</option>
    </select>
    Mon textearea :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="text" id="text" cols="45" rows="10"></textarea>
    *******

    Voilà, je crois que toutes les informations utiles sont là. Le site est en php (premier site que je fais en php), et c'est mon tout premier code en javascript. N'hésitez donc pas à reprendre à la base

    J'avais essayé avec getElementbyID et Selectedindex, ça n'avait pas marché non plus.
    J'ai rajouté les alert pour voir si ma condition fonctionnait, ils ne s'affichent pas non plus... Je sèche complètement...

    Merci d'avance pour vos réponses ! En espérant que vous me sauviez


    Vilfago

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    En PHP tu peux, mais en Javascript tu ne peux pas faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    document.form1.text.value="Bonjour,
     
    Votre inscription a été accepté
     
    Meilleures salutations";


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form1.text.value="Bonjour,\n\nVotre inscription a été acceptée\n\nMeilleures salutations";

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci, c'est corrigé.

    Par contre, ce n'est malheureusement pas toute la solution, vu que l'alert ne fonctionnait pas, je dois avoir un problème dans ma condition.

    D'ailleurs, même avec le texte formaté ainsi, ça ne marche toujours pas.

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ben maintenant tu utilises ça : FAQ.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Je n'aime pas embêter sur les forums, donc j'avais déjà testé avant

    J'ai refait le test, en remplaçant
    "document.form1.options1.value"

    par (cc de la FAQ)
    "document.getElementById('options1').selectedIndex",
    "document.getElementById('options1').selectedIndex].value", ou
    "document.getElementById('options1').options[document.getElementById('options1').selectedIndex].value"

    ça ne marche toujours pas. Je ne sais pas si ça a un lien avec le fait que mon formulaire soit en method "post", puisque la fonction s'appelle getElementById.

    Désolé d'embêter, et merci de m'aider

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function changement(){
       if(document.getElementById('options1').options[document.getElementById('options1').selectedIndex].value == 0){
          document.getElementById('text').value="Choisissez une option";
          alert('Ca vaut 0');  
       }
       else if(document.getElementById('options1').options[document.getElementById('options1').selectedIndex].value == 1){
          alert('Ca vaut 1');
          document.getElementById('text').value="Bonjour,\n\nVotre inscription a été refusée\n\nMeilleures salutations";
       }
       else if(document.getElementById('options1').options[document.getElementById('options1').selectedIndex].value == 2){
          alert('Ca vaut 2');
          document.getElementById('text').value="Bonjour,\n\nVotre inscription a été acceptée\n\nMeilleures salutations";
       }
    }
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <select name="options1" id="options1" onChange="changement()">
       <option value="0">Que désirez vous faire avec cette inscription ?</option>
       <option value="1">La refuser immédiatement</option>
       <option value="2">L'accepter maintenant</option>
    </select>
    <textarea name="text" id="text" cols="45" rows="10"></textarea>

    Tu avais oublié de fermer l'accolade de ta fonction ..

    Reprends ce code, il fonctionne.

    Et le fait que ton formulaire soit en POST n'a rien à voir avec la méthode getElementById().

  7. #7
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    il manque un }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function changement()
    {
     
       if (document.form1.options1.selectedIndex == 0 )
    	{
          document.form1.text.value="Choisissez une option";
    	  alert('Ca vaut 0');	  
    	} else if (document.form1.options1.selectedIndex == 1 )
    	{
    		alert('Ca vaut 1');
    		document.form1.text.value="Bonjour,\nVotre inscription a été refusé\nMeilleures salutations";
    	} else if (document.form1.options1.selectedIndex == 2 )
    	{
    		alert('Ca vaut 2');
    		document.form1.text.value="Bonjour,\nVotre inscription a été accepté\n Meilleures salutations";
    	}
    }
    //-->
    </script>

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour votre patience, ça fonctionne.

    Juste un petit détail si ça puit être utile à quelqu'un, il y avait un problème supplémentaire à la non fermeture de fonction. Je testais mes pages avec EasyPHP 1.8, et visiblement il n'aime pas le javascript.

    En prenant la page directement ça fonctionne, par le serveur appache pas du tout.

    Juste pour informer que par défaut ça fonctionne pas, je vais voir si je peux modifier quelque chose.

    Encore merci, et bonne soirée !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. afficher une liste deroulante après une selection
    Par zana74 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 04/08/2006, 17h18
  2. Réponses: 2
    Dernier message: 20/06/2006, 22h58
  3. Modif de menu.lst (GRUB) après recompil du kernel
    Par HNT dans le forum Administration système
    Réponses: 1
    Dernier message: 12/03/2006, 15h41
  4. [JPox] NullPointerException aprés un SELECT
    Par MinsK dans le forum Persistance des données
    Réponses: 3
    Dernier message: 05/07/2005, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo