Récupération valeur InputBox [Résolu]

Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
- - Dernière réponse : cs_cheyenne
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
- 1 déc. 2009 à 14:42
Bonjour à Tous,

Je débute en java et je suis coincé avec le code ci-dessous fait à partir du bloc-notes, HI.
J'ai surement fait des fautes syntaxe ou mis des lignes au mauvais endroit...

Principe du jeu :
J'ai dans un programme en VB6 une feuille avec browser IE.
J'envoie par code des valeurs aux InputBox de la page du browser.

With webBrowser.Document
.All("valROUG").Value = Int(Rnd() * 255)
.All("valVERT").Value = Int(Rnd() * 255)
.All("valBLEU").Value = Int(Rnd() * 255)
End With

Les valeurs des InputBox du browser changent correctement, mais je n'arrive pas à les récupérer en Java
afin de changer la couleur de fond de la page html.

Sûrement un jeu d'enfant pour vous, mais pas pour moi !

Merci pour votre aide,
Bien amicalement de Cheyenne.

---------------------------------

[color=red]<html>
<form>



</form>

<script type='text/javascript'>

function maj() {
var ROUG = document.getElementByName('valROUG').innerHTML;
var VERT = document.getElementByName('valVERT').innerHTML;
var BLEU = document.getElementByName('valBLEU').innerHTML;

var couleur = ROUG * 65535 + VERT * 255 + BLEU;
document.bgColor = couleur;
{

call maj();

</script>

/color
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Dernière intervention
2 février 2015
3
Merci
Bonjour,
perso... je ne lis que très très mal le java
je ne saurais être d'aucune utilisé,
on peut corriger les erreurs html/javascript
<html>

<form name="frm">



</form>
<script type='text/javascript'>
function maj() 
{	var ROUG = document.frm.valROUG.value;
var VERT = document.frm.valVERT.value;
var BLEU = document.frm.valBLEU.value;
var couleur = ( ROUG * 65535 ) + ( VERT * 255 ) + BLEU;
document.bgColor = couleur;
}
maj();
</script>

</html>


remarque : votre calcul de la couleur
est erronée, vérifiez avec 255...
Cordialement

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Bul3
Messages postés
1663
Date d'inscription
vendredi 9 mai 2008
Dernière intervention
3 novembre 2018
0
Merci
bonjour

c'est value que tu doit mettre

document.getElementByName('valROUG').value; 


et a mon avis c'est pas type=visible mais type =texte

<input type = 'texte'


et aussi ne met pas de name mais plutot un id

id = 'valBLEU'


et au lieux de faire

document.getElementByName('valBLEU').value;


fait

document.getElementById('valBLEU').value;
Commenter la réponse de @karamel
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
0
Merci
Re,

Merci pour vos réponses, mais cela ne fonctionne toujours pas malgré les changements préconisés : texte id et value.

J'avais mis 'visible' pour tester, en fait il faudrait, en plus, que ces InputBox ne soient pas visibles.

Au départ j'avais bien mis 'value', mais devant l'échec j'ai mis innerHTML pour essayer...

Cheyenne
Commenter la réponse de cs_cheyenne
Messages postés
1663
Date d'inscription
vendredi 9 mai 2008
Dernière intervention
3 novembre 2018
0
Merci
tu met les chiffres dans les value entre parenthese les chifres sonts considere comme une chaine de caracteres et pas comme des chifres



pour les transformer en chiffre il faut faire un parseInt

var ROUG = parsInt(document.getElementByName('valROUG').value; )
Commenter la réponse de @karamel
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
0
Merci
Re,

Ok, d'accord pour le parsInt, ce qui doit correspondre à Cint en basic.

Mais ça ne marche toujours pas, je dois avoir des fautes de syntaxe dans mes lignes.

Excuses moi, mais je suis un vrai newbie en Java. Autant ça marche en VB que là je suis un peu perdu !

Le véritable projet est le suivant :
Actuellement, en VB, je récupère des données de télémesure concernant certaines villes dans plusieurs pays.
Je passe par le plugin de Google Earth pour afficher les données dans des 'ballons'.
Pour l'instant ça fonctionne très bien mais il faut recharger le plugin à chaque nouvelle entrée pour afficher les nouvelles positions et infos.
L'idée est donc de ne charger le plugin qu'une seule fois et de modifier le code de la page HTML ce qui met à jour la carte sans recharger le plugin et avec toutes les villes concernées.
D'où l'essai de récupérer les valeurs des InputBox, pour changer la couleur à fin de test. Il y aura 6 InputBox numériques pour les données cartographiques et 4 pour les données télémtriques en alphanumérique.

Voilà, je voudrais bien à y arriver !

Soyez remerciés par avance pour votre patience à corriger le code du premier post.

Cheyenne
Commenter la réponse de cs_cheyenne
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
0
Merci
Bonjour Bul3,

Merci pour votre aide précieuse.
Oui en fait pour les couleurs en VB c'est : (Bleu * 65536) + (Vert * 256) + Rouge. Mais cela n'a pas le même rendu dans le browser.

Grâce au bon placement des balises cela fonctionne maintenant, mais uniquement si je change manuellement les valeurs et pas si je les change depuis le code VB.

Il y a t-il une astuce pour remédier à cela ?
Ce serait peut-être de faire passer par le code Java le focus à l'InputBox suivant pour valider ? Mais je ne sait pas le faire, HI

Bien que votre réponse me convienne pour le code, je ne valide pas encore, car j'espère une solution d'un 'costaud' pour résoudre le problème évoqué.

Bonne journée à vous et bien cordialement,

Cheyenne
Commenter la réponse de cs_cheyenne
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Dernière intervention
2 février 2015
0
Merci
>>Oui en fait pour les couleurs en VB c'est :
>>(Bleu * 65536) + (Vert * 256) + Rouge
ah ben alors pourquoi faire * 65535 et 255 en js ?
>>cela n'a pas le même rendu dans le browser
en général, faut "inverser" bgr <==> rgb
mais bon avec 255 partout, ça ne baigne toujours pas !
je vous laisse réfléchir....
>>et pas si je les change depuis le code VB
euh.... vous communiquez entre VB et Javascript ?
ce que je sais faire c'est une dll en vb
'appelable' depuis le javascript ( et exclusif IE )
le vb communique avec le JS ou crée une page html ?
comment ?
Commenter la réponse de Bul3
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
0
Merci
Re,

Oui, je communique entre VB et la page du browser, c'est le but du jeu !
Cela me permet de changer des valeurs dans la page sans recharger cette page dans le browser, cela gagne du temps pour l'affichage, puisque le plugin Google Erth est déjà chargé.

Avant je chargeais le plugin à chaque fois que je voulais une nouvelle carte. Maintenant
le plugin reste chargé et je change juste les paramètres de la page html et la carte s'affiche maintenant très très rapidement.

Hourah !!! J'ai quand même trouvé la solution :

Dans le code VB j'ai rajouté :

.All("cmdMAJ").Click

et dans le code Java j'ai mis cela :

<form name="frm">




</form>

Cette fois je valide votre réponse et je retourne en Visual Basic.

Merci encore à vous et bonne continuation.

Cheyenne
Commenter la réponse de cs_cheyenne

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.