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

ASP.NET Discussion :

[C#][JS] Comment activer/désactiver un contrôle ?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Par défaut [C#][JS] Comment activer/désactiver un contrôle ?
    bonjour,

    sur une page contenant un formulaire, j'utilise une fonction javascript toute simple pour rendre editable certain controls ( fonction enable_disable()). je sais que la fonction marche puisque je l'ai deja applique sur des pages asp mais la bizarrement sur ma page aspx, la fonction ne marche ....qu'a moitie !!

    voici le code de la fonction :
    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 Enable_Disable() 
         { 
          if(document.AddNewDoc.testck.checked == true) 
               { alert("youhou where is the function?"); 
                 document.AddNewDoc.OwnerList1.enabled = true; 
               } 
          else 
               { 
                  alert("not checked?"); 
                  document.AddNewDoc.OwnerList1.enabled = false;
                  document.AddNewDoc.OwnerList1.value = "";
               }
         }
    voici mes controls :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <asp:checkbox id = testck runat="server"/>
    <asp:DropDownList id="OwnerList1" Width="250px" Runat="server" Enabled="False"/>
     
    j'ai rajoute un attribut au checkbox dans la partie control behind:
    testck.Attributes.Add("onclick", "Enable_Disable();");
    
    en fait la fonction ne m'affiche que les messages d'alerte ( qui ne sont la que pour le test) et la suppression de la valeur du control (value="") mais la dropdownlist reste dans tous les cas grisee !!

    y a t il quelque chose de particulier a faire?
    j'ai deja pose la question sur le forum javascript mais aucune reponse, donc je me tourne vers celui ci.

    merci d'avance pour votre aide..

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    normal les id client javascript et les id client générés lors de la création des pages aspx nê sont pas les mêmes. en gros ta fonction enable_disable il faut tu la codes dans le .cs.
    un truc dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    string mafonctionjs="function Enable_Disable() 
    { 
    if(document." + moncontrol.clientId + ".checked=" etc...";
     
    testck.Attributes.Add("onclick", mafonctionjs);

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Par défaut
    merci pour cette info !

    je vais essayer donc...

    a++

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Par défaut
    re,

    et ben j'ai essayer, mais vu que je debute en dotnet, j'ai peut etre louper une etape ...parce que ca ne marche pas...

    mon code est le suivant :
    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
    dans le code-behind:
     
    privatevoid Page_Load(object sender, System.EventArgs e)
    {
    
     
    string mafonctionjs="function Enable_Disable();" 
    + "{if(document.AddNewDoc.testck.checked == true)" 
    + "{document.AddNewDoc.OwnerList1.enabled = true;alert('this should be: ' + document.AddNewDoc.OwnerList1.enabled);" 
    + "}"
    + "else"
    + "{document.AddNewDoc.OwnerList1.enabled = false;alert('this should be: ' + document.AddNewDoc.OwnerList1.enabled);" 
    + "}}";
     
     
    RefInc.Attributes.Add("onclick", mafonctionjs);
     
    dans la page du formulaire:
    <asp:checkbox id="RefInc" Runat="server"/>
    <asp:dropdownlist id="OwnerList1" Width="250px" Runat="server" Enabled="False"/>
    
    si quelqu'un avait une idee, un conseil, une aide
    merci d'avance...

  5. #5
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    relis bien ce que j'ai mis. à un moment tu ClientId et pas une fois tu t'en es servi. c'est "document.AddNewDoc." + Ownerlist1.ClientId etc...

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Par défaut
    re,

    je te remercie pour ton aide, mais bien que je ne veuille pas etre un boulet, j'ai fait les changements, et ca ne marche tjrs pas. de plus j'ai une erreur javascript bizarre qui me dit qu'il faut un "{" .

    voici le code a present :
    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
    
    string mafonctionjs="function Enable_Disable();" 
    + "{"
    + "if(document.AddNewDoc." + RefInc.ClientID + ".checked == true)" 
    + "{"
    + "document.AddNewDoc." + OwnerList1.ClientID +".enabled = true;"
    + "alert('this should be: ' + document.AddNewDoc." + OwnerList1.ClientID +".enabled);" 
    + "}"
    + "else"
    + "{"
    + "document.AddNewDoc." + OwnerList1.ClientID +".enabled = false;"
    + "alert('this should be: ' + document.AddNewDoc." + OwnerList1.ClientID +".enabled);" 
    + "}}";
    
    
    RefInc.Attributes.Add("onclick", mafonctionjs);
    je ne comprends pas pourquoi il y a une erreur, en plus en sauvegardant le code source en doc.html, il n'y a plus cette erreur, mais la fonction elle ne marche tjrs pas .

    merci encore pour ta patience et ton aide

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 08/06/2005, 14h52
  2. [TP] Comment activer la souris dans l'éditeur ?
    Par hannon dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 27/03/2005, 00h29
  3. comment activer l'aide en ligne
    Par saibe dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/01/2005, 14h23
  4. Réponses: 9
    Dernier message: 15/09/2004, 21h35
  5. Réponses: 2
    Dernier message: 12/02/2004, 13h07

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