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 :

probleme javascript et gridview


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut probleme javascript et gridview
    Bonjour à tous,

    Voila je viens de réaliser une gridview, et je souhaiterais qu'en cliquant sur une cellule, celle ci change de couleur. J'ai pour cela fait une fonction javascript comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ColorerCellule(objCell)
    {
        objCell.Style.Add(HtmlTextWriterStyle.BackgroundColor, "Blue");
    }
    objCell est une variable de type TableCell.

    Après dans mon code C#, j'appelle la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objCell.Attributes.Add("OnClick", "javascript:return ColorerCellule("+objCell+")");
    Mais je n'arrive pas à modifier la couleur de la cellule quand je clique.
    Ce doit être un probleme dans le javascript car quand je remplace le contenu de la fonction par alert('ok'), la fenêtre apparait au moment du clic sur une celulle.

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    T'as un msg d'erreur?

  3. #3
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Et en remplaçant ta fonction JavaScript par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function ColorerCellule(objCell)
    {
        objCell.Style.backgroundColor = "Blue";
    }
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  4. #4
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Points : 247
    Points
    247
    Par défaut
    Tu peux déjà essayer blue au lieu de Blue...vu que Javascript est sensible à la casse...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Non ça ne fonctionne toujours pas, dès que je clique sur une celulle, en bas de ma fenêtre internet explorer apparait : "Erreur sur la page".

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    C'est parce que je pense qu'une cellule d'un tableau n'est pas un objet donc tu ne peux pas faire this.style ...

  7. #7
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Points : 149
    Points
    149
    Par défaut
    Et tout simplement en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objCell.Attributes.Add("OnClick", "javascript:return ColorerCellule(this)");
    Cartes Pokémon, Yugioh, Magic ?
    Communauté d'échange

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Oui mais dans ce cas la fonction javascript s'écrit avec le "this" ?

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    J'appelle donc ma fonction javascript comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objCell.Attributes.Add("OnClick", "javascript:return ColorerCellule(this)");
    et dans mon code javascript j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    objCell.BackColor = "Red";
        alert(objCell.BackColor);
    et donc quand je clique sur une cellule, ça m'affiche "Red" mais la cellule est toujours blanche. Je ne comprend pas

  10. #10
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Je te donne un code html/javascript qui marche, à toi de l'adapter

    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
    <html>
    	<head>
    		<title></title>
    		<script language="javascript">
     
    			function colorTD(currentTD)
    			{
    				allTD = document.getElementById("Table1").getElementsByTagName("td" );
    				for(i=0;i<allTD.length;i++)
    					if (allTD[i].id.substr(0,1)==currentTD.substr(0,1))
    						allTD[i].style.background = "#FF6600";
    					else
    						allTD[i].style.background = "#FFFFFF";
    			}
    		</script>
    	</head>
    	<body bgcolor="white">
    		<table width="100%" ID="Table1" border="1">
    			<tr>
    				<td id="1" onClick="colorTD(this.id)">1</td>
    				<td>2</td>
    			</tr>
    			<tr>
    				<td>3</td>
    				<td>4</td>
    			</tr>
    		</table>
    	</body>
    </html>

  11. #11
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Est-ce que c'est bien BackColor la propriété ? ce n'est pas bgcolor ou backgroundcolor... Il faut être bien sur du nom (case sensitive) de la propriété, sinon, au lieu d'affecter, cela crée une nouvelle propriété pour l'objet...
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  12. #12
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Oui la propriété est bien BackColor

  13. #13
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Citation Envoyé par toinou62 Voir le message
    Oui la propriété est bien BackColor
    Attention à ne pas confondre avec la balise de l'objet asp.

    La balise html est bgcolor, et la balise de style est background-color si jamais.
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  14. #14
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Et mon code, il te plait pas??

  15. #15
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Le problème c'est que les propriétés de mes celulles du gridview sont indéfini. Je ne comprends vraiment pas. Que ce soit l'ID, le backcolor, ... j'ai toujours le message 'undefined' quand je fais une alerte sur la propriété.
    Quelqu'un saurait d'où vient le problème ?

  16. #16
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    T'as pas du bien recopier mon code

  17. #17
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Quand je tape document.getElementById(objCell), et il me marque 'indefined'. Donc je ne peux pas faire tourner la boucle. Mon objet objCell a toutes ses propriétés undefined, ce n'est pas normal.

  18. #18
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Faut mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objCell.Attributes.Add("OnClick", "javascript:return ColorerCellule(this.id)");

  19. #19
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Oui et bien j'ai retapé cette ligne et mon code javascript est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ColorerCellule(objCell)
    {  
    alert(objCell.ID); 
    }
    Il me remet indefined

  20. #20
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 112
    Points : 38
    Points
    38
    Par défaut
    Non en fait il marque : 'ID' a la valeur Null ou n'est pas un objet

Discussions similaires

  1. Probleme javascript entre IE et FF
    Par tinico dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 16/05/2007, 19h05
  2. [DOM] Probleme JAVASCRIPT XML STRING DOM
    Par seb0634 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/11/2006, 17h53
  3. autre probleme javascript de verif des champs
    Par Damish dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/10/2006, 15h45
  4. Probleme javascript entre IE et Firefox
    Par yobogs dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/02/2006, 21h58
  5. Réponses: 2
    Dernier message: 20/08/2005, 19h23

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