Masquer une CheckBox et son Label

cs_nicolas0057 Messages postés 7 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 22 novembre 2011 - 17 nov. 2011 à 10:08
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 - 22 nov. 2011 à 08:56
Bonjour,

J'aurais besoin de votre aide pour masquer une Checkbox et son label.

Je vous explique. J'ai fais un Upgrade de notre logiciel chez un client. Depuis cet Upgrade, dans la section Réglages est apparue une Checkbox.
Le client m'a demandé de supprimer cette ligne qui ne sert à rien.

Voici le code source :

<label for="ctl00_MainContentHolder_Settings1_CheckBoxCardlink">Fonctionnalité lecteur pour poste d'exploitation/de dialogue</label>

J'arrive bien à masquer la Checkbox en faisant cette manip :

#ctl00_MainContentHolder_Settings1_CheckBoxCardlink
{display: none !important;
visibility : hidden !important}

Par contre je n'arrive pas à cacher le Texte !!!!!! (fonctionnalité lecteur.....)

Pourriez vous m'aider ?

Merci d'avance

nico

13 réponses

cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
17 nov. 2011 à 18:32
Il suffit d'effacer le texte???????

Megafan

Développeur de http://www.o10c.eu (Lien)


La nouvelle référence en matière de jeu de stratégie spatiale.
0
cs_nicolas0057 Messages postés 7 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 22 novembre 2011
17 nov. 2011 à 18:50
Merci pour ta réponse mais ce n'est pas aussi simple que ça.

Je m'explique :

Lorsque la personne ouvre la page, elle doit entrer un mot de passe, un login et choisir entre 4 langues. (FRA,GER,ITA,ENG).

C'est ce choix qui va définir les textes qui vont être affichés. Ces textes se trouvent dans des DLL. (Impossible à modifier.)

Le code source que j'ai affiché, je l'ai obtenu en faisant clique droit sur la page web --> afficher le code source.

Donc je ne peux pas modifier le texte ici !!

Help SVP Merci
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
18 nov. 2011 à 10:46
Salut,

as-tu accès à la partie serveur du site ?
car si tu n'as pas moyen de modifier le HTML généré tu vas galérer : ton label ne possède aucun "point d'accès css" (pas de classe css, pas d'identifiant, pas encapsulé dans un tag qui aurait une de ces deux valeurs de renseignée).

il existe toutefois une astuce qui consisterai à écrire un petit bout de javascript, qui parcours tes <label> jusqu'à trouver celui associé à ton (en regardant l'attribut for), un truc du genre en somme :
    function hide() {
        var tags = document.getElementsByTagName("LABEL");
        for (i = 0; i < tags.length; i++)
            if (tags[i].getAttribute("for") == "ctl00_...") {
                tags[i].innerText = "";
                return;
            }
    }
    hide();


bon dev
0
cs_nicolas0057 Messages postés 7 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 22 novembre 2011
20 nov. 2011 à 19:08
Salut,

Oui j'ai accès à la partie serveur. En fait c'est un site intranet qui tourne sous Win 2008 Serveur avec IIS.

donc je peux modifier tous les fichiers que je veux. Pour masquer ma checkbox j'écris dans le fichier main.css

Mais hélas aucun moyen pour supprimer ce fameux texte..... Je ne suis pas programmeur donc je suis en train de nager lol

Si quelqu'un pouvait m'aider ca serait top !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
21 nov. 2011 à 10:35
Re,

si tu as accès au fichier ascx/aspx en question, alors il suffit de mettre :
<label style="visibility: hidden">blabla</label>


ta seule contrainte était d'atteindre ce tag, qui n'avait pas d'ID, ni de classe css, ni n'était encapsulée dans un tag contenant une de ces deux informations. Depuis le serveur tu peux modifier directement la balise, et donc son rendu.
0
cs_nicolas0057 Messages postés 7 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 22 novembre 2011
21 nov. 2011 à 12:10
Merci pour ta réponse Jopop.

Le problème c'est que le texte n'est pas dans un fichier aspx.

En fait lorsque l'utilisateur est sur la page de connexion il peux choisir entre 4 langues. les textes de chaque langue sont dans des DLL. Donc impossible de modifier les textes.

Ou est ce que je dois mettre cette ligne ??? c'est ca mon problème ! Comment retrouver l'emplacement.
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
21 nov. 2011 à 14:32
Re,

après vérification la balise label n'est pas visible dans l'aspx/ascx, il est généré automatiquement avec le input lorsqu'on utilise un asp:Checkbox. Du coup il faut trouver le fichier qui contient un truc du genre :


Il suffit alors de lui ajouter l'attribut suivant :
Visible="false"


Attention toutefois ! le fait de le mettre non-visible de cette manière fera que le(s) tag(s) html ne seront même pas généré dans la réponse au client. S'il y a des contrôleurs (JS ou code behind) c'est plantage assuré.
0
cs_nicolas0057 Messages postés 7 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 22 novembre 2011
21 nov. 2011 à 15:20
ahhhhhhhhhhhhhhhhhhhhhhhhhhh !!!!!!!

MERCI jopop !!! J'ai effectivement retrouvé cette ligne dans le fichier settings.ascx et cela fonctionne !!!! OUFFFF !!

Bon maintenant que j'ai vu que tu maitrises, j'aurais encore une question pour toi !! Si tu veux bien.

Mon client me demande que lorsqu'un utilisateur rentre un pointage et clique sur le bouton "Accepter", il tombe sur une autre page.

voici la ligne Accepter :



Merci
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
21 nov. 2011 à 15:53
Alors là tu vas avoir un petit souci si tu n'as pas accès aux codes sources de ton site (fichiers .ascx.cs), et à TOUS les codes sources, car il faudra recompiler par la suite. Si c'est bien le cas :
- trouve et édite le fichier .ascx.cs,
- tu devrais trouver une fonction qui ressemble à ça :
	protected void btnTakeOver_Click(object sender, EventArgs e) { 
// du code pour enregistrer les informations
// saisies dans le formulaire validé
}

- et juste avant la fermeture de la fonction, tu utilises une ligne du genre :
		Response.Redirect("/mapages.aspx");

- tu recompiles le projet dans son intégralité,
- tu redéploies tout ça
0
cs_nicolas0057 Messages postés 7 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 22 novembre 2011
21 nov. 2011 à 16:50
Merci pour ta réponse Jopop ! Nous avons réussi à trouver la solution.
Le fournisseur avait inclu cette possibilité. Ouff !!!


Par contre j'ai une dernière question !

Actuellement les clients se connectent en SSO sur le site Web. Ils arrivent sur une page bien précise.
Mon problème est que si ils ferment IE et qu'ils ré-ouvrent le site ils n'arrivent plus sur la même page.

Nous pensons que ceci est du au fait qu'il ne fasse pas de Logout de la session.
Il faudrait configurer un genre de Timeout !!

Aurais-tu une idée de comment faire sous IIS ? ou en programmant quelque chose ?

Merci encore !
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
21 nov. 2011 à 17:03
Je sais comment définir la durée de session sous IIS, oui, mais je suis pas sûr que ce soit ce que tu recherches. Toutefois, si c'est le cas, deux possibilités :
- dans le gestionnaire IIS : va sur ton site et choisis "Etat de session", tout en bas tu auras "Délai d'attente (minutes)" (valeur 20 par défaut),
- dans le fichier web.config de ton site : il devrait y avoir une ligne comme suit, avec un attribut timeout :
<sessionState ... timeout="20" />
0
cs_nicolas0057 Messages postés 7 Date d'inscription lundi 19 avril 2010 Statut Membre Dernière intervention 22 novembre 2011
22 nov. 2011 à 08:40
Merci Jopop mais hélas cela ne règle pas mon problème....

Peu importe ce que je rentre dans mon Web.config, cela ne change rien.

A la première connexion il m'affiche bien la page voulu ! et si je ferme IE et que je l'ouvre à nouveau il va directement sur une autre page.....
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
22 nov. 2011 à 08:56
Yep, il me semblait bien que ton souci ne se réglerai pas avec une modif de la durée de vie des sessions. Tu pourrais tenter de catcher l'event onunload de la page en javascript, mais y'a plusieurs contraintes :
- le code JS doit être placé sur toutes tes pages, ou sur la master page,
- pas sûr que ça fonctionne correctement sur tous les navigateurs,
- il faut faire une requête AJAX dans cet event, pour aller avertir le serveur.

Je t'avouerai que j'ai jamais eu cette problématique, à tenter.
0
Rejoignez-nous