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

cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 30 nov. 2009 à 17:40 - Dernière réponse : cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention
- 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
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 1 déc. 2009 à 10:22
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

Merci Bul3 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de Bul3
@karamel 1655 Messages postés vendredi 9 mai 2008Date d'inscription 19 avril 2018 Dernière intervention - 30 nov. 2009 à 18:46
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
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 30 nov. 2009 à 19:13
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
@karamel 1655 Messages postés vendredi 9 mai 2008Date d'inscription 19 avril 2018 Dernière intervention - 30 nov. 2009 à 22:16
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
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 1 déc. 2009 à 00:16
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
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 1 déc. 2009 à 13:23
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
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 1 déc. 2009 à 13:41
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
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 1 déc. 2009 à 14:42
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.