ExecuteJavascript - Checkbox

Bonjour,

HTMLViewer1.ExecuteJavaScript("parent.frames[0].document.forms['P_ADC_LIGNES_DE_TRESO'].elements['"+FENETRE_CONTROLE_CAISSE.Listbox3.Cell(i,9)+"'].value ='"+format(cdbl(FENETRE_CONTROLE_CAISSE.Listbox3.Cell(i,6)),"#.00")+"';")
Ceci est le code que j’utilise pour envoyer une donne issue de ma listbox vers un champs d’une page l’aide de “executejavascript”
et pas de soucis !

sur cette mme page, il y a une “checkbox”, j’ai besoin de la cocher …
voici le code de la page :

<input type="CHECKBOX" name="_1_A29" value="1"  onclick= ... ... ...

comment utiliser “ExecuteJavascript” pour aller cocher cette checkbox…???

d’avance, Merci pour vos rponses !

Julien.

Il suffit d’ajouter l’attribut “checked” l’lment pour qu’il soit coch. Ou de le retirer.

cela se fait avec setAttribute('checked','') ou removeAttribute('checked')

[quote=350985:@Michel Bujardet]Il suffit d’ajouter l’attribut “checked” à l’élément pour qu’il soit coché. Ou de le retirer.

cela se fait avec setAttribute('checked','') ou removeAttribute('checked')[/quote]

Ok… Et comment l’ecrire dans ma structure?
(Si on reprend l’exemple, qui doit etre similaire à quand je remplie un champs…)

En utilisant GetElementsByName, si le nom est unique :

HTML1.executeJavaScript("document.getElementsByName('_1_A29')[0].setAttribute('checked','');")

[quote=351080:@Michel Bujardet]En utilisant GetElementsByName, si le nom est unique :

HTML1.executeJavaScript("document.getElementsByName('_1_A29')[0].setAttribute('checked','');")

Merci… Je vais essayer… Je vous dis!!

@Michel Bujardet … re !
j’ai essayer avec la console sur Firefox… voilà mon code

[code]parent.frames[0].document.forms[“P_ADC_LIGNES_DE_TRESO”].getElementsByName(’_1_A29’)[0].setAttribute(‘checked’,’’);

[/code]
et voilà l’erreur…
/*
Exception: TypeError: parent.frames[0].document.forms.P_ADC_LIGNES_DE_TRESO.getElementsByName is not a function
@Scratchpad/1:1:1
*/

en regardant mieux mon code de la page… c’est evenement Onclick qui appelle une fonction… je ne sais pas si ca change des choses…
mais je pense que oui…

ca doit pas etre tres loin… mais je bug…
si vous avez une idée…

Avez vous essay le code que j’ai post ? Si la checkbox _1_A29 existe, cela devrait fonctionner du premier coup.

j’ai essayé biensur… ca ne passe pas…!
comme elle est dans un formulaire… jai peut -etre mal goupillé on code…mais ca ne marchait pas…

@Michel Bujardet
voilà mes codes erreurs :
pour:

donne :
→ Exception: TypeError: parent.frames[0].document.forms.P_ADC_LIGNES_DE_TRESO.elements._1_A29.click is not a function
@Scratchpad/1:1:1

et le votre :

donne :
Exception: TypeError: document.getElementsByName(…)[0] is undefined
@Scratchpad/1:1:1

@Michel Bujardet
j’ai tenté celle-ci…

alors pas d’erreur dans la console, mais rien ne se passe…

[quote=351435:@julien assayah]parent.frames[0].document.forms[“P_ADC_LIGNES_DE_TRESO”].elements["_1_A29"].click();
[/quote]

Ca ne marchera jamais comme ça.

[quote=351436:@julien assayah]@Michel Bujardet
j’ai tenté celle-ci…

alors pas d’erreur dans la console, mais rien ne se passe…[/quote]

Ce qui veut dire que le code est correct, mais que pour une raison à déterminer, la checkbox ne change pas d’état. Etes vous absolument certain que la checkBox s’appelle “_1_A29” ?

Comment êtes vous arrivé à cette valeur ?

[quote=351443:@Michel Bujardet]Ca ne marchera jamais comme ça.

Ce qui veut dire que le code est correct, mais que pour une raison à déterminer, la checkbox ne change pas d’état. Etes vous absolument certain que la checkBox s’appelle “_1_A29” ?

Comment êtes vous arrivé à cette valeur ?[/quote]
Oui certain…
C’est dans le code de la page…
Plus haut dans le1er post…j’ai fait une copie de la source html…

C’est rageant!!

HTML1.executeJavaScript("document.getElementsByName('_1_A29')[0].setAttribute('checked','');")

Pardonnez-moi, mais Je déteste les expressions passe partout de ce genre. “ça ne passe pas” ne signifie rien. Que se passe-t-il au juste ?

Le fait que cet élément soit dans un ne change en rien le fait qu’il soit dans le document. Normalement, aucun besoin d’aller chercher des convolutions pour y accéder.

Cette page vous appartient ? Vous pouvez la modifier ? Car dans ce cas, ce serait plus simple de coder un “ID” sur l’objet pour y accder plus directement.

[quote=351493:@Michel Bujardet]HTML1.executeJavaScript("document.getElementsByName('_1_A29')[0].setAttribute('checked','');")

Pardonnez-moi, mais Je déteste les expressions passe partout de ce genre. “ça ne passe pas” ne signifie rien. Que se passe-t-il au juste ?

Le fait que cet élément soit dans un ne change en rien le fait qu’il soit dans le document. Normalement, aucun besoin d’aller chercher des convolutions pour y accéder.[/quote]
Bonjour @Michel Bujardet
Pour repondre a une autre question
Cette page ne m’appartient pas, elle est issue d’un site intranet .

J’ai fait une sauvegarde de la page web en html,
Accessible sur le lien suivant.

Lorsque vous ouvrez la page sur chaque ligne correspondant a un versement, il y a une case a cocher,
Qui lorsque le fichier est"en intranet" Modifie la structure de la page et des champs"hidden" Ne le sont plus…
Vous comprendrez en regardant la 1ere ligne “especes” Dans le code…
Si vous arrivez a cocher sur cette page, alors, on ne sera plus loin de l’arrivee…

https://drive.google.com/file/d/0B4LhE5iAuAH4X3JPdzl1NUYxaFk/view?usp=drivesdk

Bonjour, et non, ce n’est pas ma page… Elle est sur un site intranet…

Cette page ne s’affiche pas dans un HTMLViewer…

@Michel Bujardet
il faut dans un premier temps la telecharger, elle est sur un espace de stockage, c’est pour cela…
puisqu’elle est sur un site intranet, impossible en dehors de l’entreprise de l’afficher, hormis quand depuis l’entreprise, je l’enregistre pour travailler chez moi dessus… et adapter le code lorsque j’arrive en entreprise…

pas d’ide ?

alors… apres avoir fouill :
@MichelBujardet vous aviez raison… j’ai juste chang le [0] par [1] et a passe !

fonctionne !!

ca coche… mon soucis va rester… encore… a savoir que il y a un evenement lors du click… et celui ci ne se dclenche pas…
seule la case se coche…
voil l’evenement qu’il faudrait se faire aussi dclencher :