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 :

Comment parcourir les éléments d'un panel en javascript


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut Comment parcourir les éléments d'un panel en javascript
    Bonjour tous,je travaille en ASP et j'aimerais savoir si il est possible de parcourir les éléments d'un panel et faire des opérations selon le type d'un élément en javascript. je m'explique:
    j'ai un panel, comprenant plusieurs label, textbox et datagrid.
    en fait, je voudrais (à chaque fois qu'il y a un évènement "onKeyUp" dans mon panel), additionner tout les éléments textbox et certains éléments de mon datagrid pour faire afficher le total dans un label.
    voici comment je pensais le faire (du moins pour les textbox):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function CalculMontantDeduction()
    	{
                 Var total;
    	for (variable in document.getElementById('<%= monPanel.ClientID %>'))
    	{
                        //mon if pour savoir si c un textbox
    		total = total +variable.value;			
     
    	}
     
                 document.getElementById('<%= monLabel.ClientID %>').value=total;
    }
    bien entendu, cela ne marche, lorsque je fait un alert(variable.value), il me renvoie "undefined"
    est ce donc impossible de parcourir les élément d'un panel....et si oui comment je fais pour distinguer un textbox d'un label, d'un datagrid?
    Merci de votre aide
    bye
    shirya

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    C est quoi un panel?
    En javascript ca n existe pas .
    Que donne ton code html genere par asp?
    A quoi correspond ocument.getElementById('<%= monPanel.ClientID %>') en quelque sorte ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut
    voici le code dans ma page aspx:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <asp:panel id="monPanel" Runat="server"><TABLE id="Table13" align="center" border="0">
    					<TR>
    						<TH style="HEIGHT: 18px" colSpan="7">
    							<P align="left">EXEMPTIONS</P>
    						</TH>
    					</TR>
    					<TR>
    						<TD style="WIDTH: 142px"><STRONG>Fédéral:</STRONG></TD>
    						<TD style="WIDTH: 824px"><asp:textbox id="txtExFederal" Width="64px" Runat="server" CssClass="CHAMPSAISIE" MaxLength="6"></asp:textbox></TD>
    						<TD style="WIDTH: 151px"><STRONG>Provincial:</STRONG></TD>
    						<TD style="WIDTH: 165px"><asp:textbox id="txtExProvincial" Width="62px" Runat="server" CssClass="CHAMPSAISIE" MaxLength="6"></asp:textbox></TD>
    					</TR>
    				</TABLE></asp:panel>
    donc en gros, ça permet de regrouper plusieurs éléments. on peut peut-être le voir comme un cadre, comportant la table et les champs textbox...
    donc quand je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('<%= monPanel.ClientID %>')
    cela me renvoie l'objet monPanel...

  4. #4
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    quand tu fais dans ton navigateur "Voir le code source"
    a quoi ressemble ton code genere?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut
    quand tu fais dans ton navigateur "Voir le code source"
    a quoi ressemble ton code genere?
    ça génère ça...c bizarre, ça le voit comme une division: "div id="EditCheque_monPanel"
    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
    <div id="EditCheque_monPanel">
    <TABLE id="Table13" style="BORDER-RIGHT: lavender thin solid; BORDER-TOP: lavender thin solid; BORDER-LEFT: lavender thin solid; WIDTH: 263px; BORDER-BOTTOM: lavender thin solid; HEIGHT: 54px"
    					cellSpacing="1" cellPadding="1" align="center" border="0">
    					<TR>
    						<TH style="HEIGHT: 18px" colSpan="7">
    							<P align="left">EXEMPTIONS</P>
    						</TH>
    					</TR>
    					<TR>
    						<TD style="WIDTH: 142px"><STRONG>Fédéral:</STRONG></TD>
    						<TD style="WIDTH: 824px">	<input name="EditCheque:txtExFederal" type="text" maxlength="6" id="EditCheque_txtExFederal" class="CHAMPSAISIE" style="width:64px;" /></TD>
    						<TD style="WIDTH: 151px"><STRONG>Provincial:</STRONG></TD>
    						<TD style="WIDTH: 165px"><input name="EditCheque:txtExProvincial" type="text" maxlength="6" id="EditCheque_txtExProvincial" class="CHAMPSAISIE" style="width:62px;" /></TD>
    					</TR>
    				</TABLE>
    </div>

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut
    j'ai réussi à parourir les éléments finalement, je me suis déclarer une division à la place d,un panel..seulement j'ai un autre problème, Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function CalculMontantDeduction(montant)
    {
     
    for (variable in document.getElementById('<%= divDeductions.ClientID %>').all)
    {			
    	alert(variable);
    }
    lorsque j'exectue cette fontion, ça m'affiche dans une boîte de dialogue les nom des éléments de ma division....seulement, j'aimerais pouvoir faire des opération seulement sur les textbox...comment fait on pour dire "si c un textbox, fais ça"
    j'ai essayer ça, mais ça ne marche pas...ça dit erreur dans la page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (variable.getType() == typeof(TextBox))
    avez-vous une idée de comment faire?

  7. #7
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ( document.getElementById("myInput").type=='text'){
    //mon traitement
    }

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut
    j'ai essayer avec type, mais ça me mettait tout le temps une erreur
    voici ce que j'ai fait et pour l'instant ça marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for (variable in document.getElementById('<%= divDeductions.ClientID %>').all)
    			{
     
    				if (document.getElementById(variable)!=null)//Si ce n'Est pas null
    				{
    					var montant = parseFloat(document.getElementById(variable).value);
    					if(!isNaN(montant))//si c'est un numérique, ajoute le au total
    					{
    						nouveauTotal=parseFloat(nouveauTotal) + parseFloat(montant);
    					}
     
    				}
    			}
    ça ne fait que regarder si c'est un numéric et si oui ben ça l'ajoute au total

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/01/2009, 18h08
  2. [ListView] Comment parcourir les éléments avec la touche Tabulation ?
    Par ikeas dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 13/09/2008, 22h16
  3. Réponses: 1
    Dernier message: 22/04/2008, 14h11
  4. Réponses: 1
    Dernier message: 26/07/2007, 10h57
  5. Comment parcourir les dossiers situé dans le client
    Par etarip dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 17/11/2005, 10h16

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