begin process at 2010 03 17 06:41:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

grisé un champ en fonction d'une liste déroulante


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

grisé un champ en fonction d'une liste déroulante

mardi 9 octobre 2007 à 14:03:18 | grisé un champ en fonction d'une liste déroulante

rom268

Voila , tout est dans le titre !
J'ai une liste déroulante en relation avec ma base de donnée. Cette liste concerne les "types contrats" j'ai donc CDI, CDD, et stages pour le moment.
J'ai un textbox à coté ou l'on peut rentrer la durée du stage ou du CDD. Seulement j'aimerais que ce textbox soit grisé lorsque je selectionne "CDI" dans ma liste.
Si quelqu'un à une idée...

Merci

mardi 9 octobre 2007 à 14:09:48 | Re : grisé un champ en fonction d'une liste déroulante

bultez

Membre Club
Bonjour,

>> j'aimerais que ce textbox soit grisé
    readonly ou disabled à true
    pour dégriser  ( faudrait moi aussi que j'arrête de boire ! ), mettre à false

>>lorsque je selectionne "CDI" dans ma liste.
    liste ? un select probablement
    onchange="javascript quand on choisit une option"
       et    this.options[this.selectedIndex]   donne le n° de ligne
              this.options[this.selectedIndex].value ou .text le contenu


                Cordialement            Bul         [mon Site]     [M'écrire]

mardi 9 octobre 2007 à 14:51:43 | Re : grisé un champ en fonction d'une liste déroulante

rom268

Cool compris pour le "dégrisement"
Mais pour le reste bof...
Faut que créer une fct ou je le met direct à la suite dérriére OnChange, et dans ce cas ou lui dis-je comment dégriser mon textbox ?

Bien cordialement
mardi 9 octobre 2007 à 14:58:36 | Re : grisé un champ en fonction d'une liste déroulante

bultez

Membre Club
>>Faut que créer une fct ou je le met direct à la suite dérriére OnChange,
    c'est comme tu le sens.
    mais attention à this qui sera la fonction dans la function, pas le select
>>et dans ce cas ou lui dis-je comment dégriser mon textbox ?
    tu fais le contaire de ce que tu fais pour le griser.

                Cordialement            Bul         [mon Site]     [M'écrire]

mardi 9 octobre 2007 à 15:00:37 | Re : grisé un champ en fonction d'une liste déroulante

bultez

Membre Club


fin du message perdu...

>>et dans ce cas ou lui dis-je comment dégriser mon textbox ?
    tu fais le contaire de ce que tu fais pour le griser,
    peut-être quand on sélectionne autre chose que CDI ?
    mais en fait, toi seul peut répondre...

                Cordialement            Bul         [mon Site]     [M'écrire]

mardi 9 octobre 2007 à 15:16:12 | Re : grisé un champ en fonction d'une liste déroulante

XtremDuke

Ca doit ressembler à quelque chose comme ça...

<html>
<head>
<title>contrats</title>
<script type="text/javascript">
    function checkSelection(val){
        if(val=='cdi'){
            document.getElementById('dureeContrat').disabled = true;
        }else{
            document.getElementById('dureeContrat').disabled = false;
        }
    }
</script>
</head>
<body>
<select id="selectContrats" onchange="checkSelection(this.value)">
    <option value="cdi" selected="selected">CDI</option>
    <option value="cdd">CDD</option>
    <option value="stage">STAGE</option>
</select>
<input id="dureeContrat" type="text" disabled="disabled"/>
</body>
</html>

mardi 9 octobre 2007 à 16:09:48 | Re : grisé un champ en fonction d'une liste déroulante

rom268

J'ai saisi ce qu'il faut faire je pense, sauf la partie de fonction dans la fonction avec le "this".J'ai repris le code de XtremDuke, mais je n'ai pas stipulé que je travail en Vb ( ca ne change cependant peut etre rien...) et du coup quand je met un input mon champ est bien grisé, mais par contre je selectionne CDD et que je reselectionne CDI le grisement ne se fait plus.
Mais de toute facon je bosse avec un Objet Textbox et le code ne marche plus la console me dit que mon "dureeContrat" text box n'as pas d'options....
si je récupére la valeur avec this.value dans ma liste, que puis-je utilisé pour grisé mon text en fct de ma selection
je met mon bout de code si ca peux aider...

<script language="javascript">

function checkSelection(val){
        if(val=='CDI'){
            document.getElementById('Duree').disabled = true;
        }else{
            document.getElementById('Duree').disabled = false;
        }
    }

</script>

[...]

 <td valign="top" style="width: 190px" >Type de contrat </td>
          <td width="165" valign="top" >
            <asp:DropDownList ID="IdContrat" runat="server" DataSourceID="SqlDataSourceQuotidienContrat"
              DataTextField="contrat" DataValueField="id_contrat" OnChange="checkSelection(this.value)">
            </asp:DropDownList>
            <asp:SqlDataSource ID="SqlDataSourceQuotidienContrat" runat="server"
              ConnectionString="<%$ ConnectionStrings:QuotidienConnectionString %>" SelectCommand="SELECT * FROM [contrat]">
            </asp:SqlDataSource>
          </td>
          <td colspan="2" valign="top" >Dur&eacute;e pour les CDD et les stages </td>
          <td valign="top" style="vertical-align:top; width: 33px;" >
              <asp:TextBox ID="Duree" runat="server" Width="26px"></asp:TextBox>
          </td>
          <td width="164" valign="top" >mois</td>
        </tr>



Voila désolé si je suis un peu à la rue..
Merci pour votre aide

mardi 9 octobre 2007 à 18:27:53 | Re : grisé un champ en fonction d'une liste déroulante

PetoleTeam

Membre Club

B onjour...
Juste pour faire une petite correction sur le code de XtremDuke

<html>
<head>
<title>contrats</title>
<script type="text/javascript">
function checkSelection( this_){
  var Data = this_.options[this_.selectedIndex].value;
  if( Data =='cdi'){
    document.getElementById('dureeContrat').disabled = true;
  }
  else{
   document.getElementById('dureeContrat').disabled = false;
  }
}
</script>
</head>
<body>
<select id="selectContrats" onchange="checkSelection(this)">
  <option value="cdi" selected="selected">CDI</option>
  <option value="cdd">CDD</option>
  <option value="stage">STAGE</option>
</select>
<input id="dureeContrat" type="text" value="?????">
</body>
</html>


that's All ! du moins il me semble...

;0)
vendredi 12 octobre 2007 à 13:37:04 | Re : grisé un champ en fonction d'une liste déroulante

rom268

qu'est ce que fait la ligne : var Data = this_.options[this_.selectedIndex].value; ??? c'est quoi ce "this_" ???
samedi 13 octobre 2007 à 08:56:00 | Re : grisé un champ en fonction d'une liste déroulante

PetoleTeam

Membre Club

Bonjour,

<select id="selectContrats" onchange="checkSelection(this)">

dans cette ligne le this représente l'object SELECT lui même

function checkSelection( this_){

dans cette ligne le this_ réprésente le paramètre passé à la fonction, soit l'object SELECT

var Data = this_.options[this_.selectedIndex].value;

dans cette ligne
this_.selectedIndex représente l'OPTION sélectionnée du SELECT, selectedIndex commence à zéro.
this_.options est la collection des OPTIONS contenues dans le SELECT, on y accéde comme dans un tableau normal

en final tu récupéres dans Data l'attribut value de l'OPTION sélectionnée du SELECT this_ qui a déclenché l'action soit le SELECT avec l'id "selectContrats" dans ton cas.

J'espère que cela est plus clair ?  pas sur à la relecture d'ailleurs.
;0)



Cette discussion est classée dans : fonction, liste, champ, déroulante, grisé


Répondre à ce message

Sujets en rapport avec ce message

Actualiser une page ?? [ par rich25200 ] Bonjour,J'ai une page avec une liste déroulante qui est alimenté avec une base de données.. Je programme avec php... Et j'ai aussi d'autre champ texte Résultats en fonction d'une liste déroulante [ par Pestaille ] Bonjour, je travaille sous Front Page et je souhaiterais avoir une case proposant un résultat issu du choix effectué auparavant dans une liste déroula Liste déroulante avec champ de texte -- FireFox [ par b_medamine ] Bonsoir à tous, je cherche à créer une liste edéroulante avec champ texte ... j'ai bien trouvé sur le forum quelques exemples ' trés bien fait) mais Liste déroulante + champ texte [ par b_medamine ] Peut être c'est une question toute bête, mais vraiment je n'ai pas trouvé la solution facile en javascript. J'ai une liste déroulante et un champ tex Pb de formulaire [ par mikeV ] Bonjour, j'ai un formulaire HTML et je voudrais pouvoir rendre un champ inactif en fonction de la valeur choisit dans une liste déroulante et aussi en mise à jour d'une liste déroulante [ par ahcorad ] Voila j'ai une page avec un formulaire et une liste déroulante de fonctions, si la fonction voulu n'est pas présente on peut en ajouter une en cliquan liste deroulante [ par CrazyCodeur ] Bonjour !! J'aimerai modifier le conentu d'un textbox en fonction de ce qui est selectionné dans une liste déroulante.. Les éléments de ma liste dérou Script formulaire [ par analog101 ] Bonjour, voici ce que je cherche à faire ( javascript ou vbscript ).Une fenêtre avec un champ texte et un champ select(liste déroulante)si je tape 1 d rajout dans une liste déroulante [ par onylink ] Bonjour, J'aurai aimé dans une liste déroulante avoir la possibilité d'ajout une nouvelle valeur. [B]Je m'explique : [/B][U]Dans un formulaire :[/ Récupérer index et valeurs d'une liste déroulante [ par PERPEZAT ] Bonjour,Je voudrais récupérer dans des variables l'index et la valeur des éléments d'une liste déroulante. pour les utiliser dans un script PHP.Pour l


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales