PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Rendre invisible un bouton depuis un champ html
Rendre invisible un bouton depuis un champ html
Débuté par xavier, 07 sep. 2018 17:36 - 6 réponses
Membre enregistré
48 messages
Popularité : +1 (1 vote)
Posté le 07 septembre 2018 - 17:36
Bonjour,
je souhaite rendre invisible un bouton sur une page depuis du code HTML d'un champ HTML?

Dans la page, j'utilise un champ HTML pour afficher une iFrame. Voici la page:




Voici le code placé dans l'initialisation de la page pour initialiser mon iframe:
HTML1 = [
<script>
function setFrameLoaded()
{
document.getElementById("BTN_Submit1").setAttribute("hidden","");
}
</script>
<iframe onload='setFrameLoaded();' src="https://docs.google.com/gview?url=monUrlIci"
style="width:100%; height:100%; border-width:1px; border-style:solid; border-color:#BBBBBB">
</iframe>
]


Au chargement de l'iframe, j'ai fait une méthode permettant de rendre invisible un champ de la page. Cette méthode fonctionne en utilisant un composant qui se trouve dans le champ HTML.
Par contre, je n'arrive pas à rendre invisible un champ se trouvant sur la page à l'extérieur de mon champ HTML.

Quelqu'un a une idée?

Merci
Membre enregistré
48 messages
Popularité : +1 (1 vote)
Posté le 12 septembre 2018 - 16:44
Bonjour,

quelqu'un a une solution svp?

J'ai essayé avec en récupérant l'alias du bouton mais je n'arrive ça ne fonctionne pas.

Merci pour l'aide
Membre enregistré
265 messages
Popularité : +14 (16 votes)
Posté le 13 septembre 2018 - 14:19
Bonjour Xavier,

1- Il n'est pas nécessaire de passer par setAttribute(), un simple
document.getElementById("BTN_Submit1").hidden = true;

fera l'affaire.

2- "BTN_Submit1" n'est pas un ID mais le nom du bouton n'est ce pas ?!
Il faut aller chercher l'ID dans le code source de la page ou alors le récupérer via BTN_Submit1..Alias

3- Un onload en attribut du iFrame n'est peut-être pas une bonne idée, pour des raisons de compatibilités navigateurs entre autres.
Je crois qu'il est préférable de lancer un script après avoir déclaré l'iFrame.
Quelque chose comme :
HTML1 = [
<iframe src="https://docs.google.com/gview?url=monUrlIci"
style="width:100%; height:100%; border-width:1px; border-style:solid; border-color:#BBBBBB"></iframe>
<script>document.getElementById("A12").hidden = true;</script>
]

Cordialement

--
René MALKA
Message modifié, 13 septembre 2018 - 14:20
Membre enregistré
48 messages
Popularité : +1 (1 vote)
Posté le 14 septembre 2018 - 07:58
Bonjour,
merci pour la réponse. Oui BTN_Submit1 est le nom de mon bouton. Son alias est A3.
J'arrive à faire fonctionner le script seulement en ajoutant un bouton dans le code HTML comme ceci:
HTML1 = [
<button id="okButton">OK</button>
<iframe src="https://docs.google.com/gview?url=monUrlIci"
style="width:100%; height:100%; border-width:1px; border-style:solid; border-color:#BBBBBB">
</iframe>
<script>document.getElementById("okButton").hidden = true;</script>
]

Le bouton devient invisible comme souhaité.

Par contre, le même script ne fonctionne pas avec un bouton placé en dehors du champ HTML.
J'ai remplacé "okButton" par "A3" mais ça ne marche pas.
Comme si l'instruction document.getElementById ne trouvait que les champs dans le champ HTML.

Une autre solution?

Merci
Membre enregistré
48 messages
Popularité : +1 (1 vote)
Posté le 14 septembre 2018 - 10:28
Bonjour,
le script suivant fonctionne sur quelques champs en dehors du champ HTML:
HTML1 = [
<script>document.getElementById("maCombo").hidden = true;</script>
]

Par exemple, ça fonctionne sur une combo ou sur un champ lien. Mais ça ne fonctionne pas sur un bouton.
Est-ce normal ou faut-il s'y prendre autrement?

Merci
Membre enregistré
265 messages
Popularité : +14 (16 votes)
Posté le 14 septembre 2018 - 10:36
Bonjour Xavier,

Je crois qu'il faut aller examiner le code sources généré par la page Webdev.
A l'aide des outils dev de Chrome par exemple.
Et étudier :
- le code HTML qui correspond au bouton en question, souvent l'ID A3 a un préfixe du style "dww"
- Rendre ce bouton invisible à l'aide d'un autre bouton et examiner les changement dans le source pour voir sur quel élément HTML cela agit.
Et ainsi en déduire le bon ID à rendre invisible dans le script.

Il y a une autre solution qui consiste à récupérer l'ID du bouton dans une variable globale navigateur par du code WL.
Et c'est cette variable globale qui sera utilisée dans le script pour indiquer le bon ID.

Cordialement

--
René MALKA
Membre enregistré
48 messages
Popularité : +1 (1 vote)
Posté le 14 septembre 2018 - 11:41
Merci pour les réponses. Le problème ne venait pas d'un mauvais ID.
Après avoir analysé le code source de la page, j'ai remarqué que l'option ' style.visibility ' du bouton changeait. Alors, j'ai trouvé une solution:
HTML1 = [
document.getElementById("A3").style.visibility = "hidden";
]

Cordialement