hurricanaincus
Messages postés10Date d'inscriptiondimanche 28 mars 2004StatutMembreDernière intervention24 juin 2009
-
24 juin 2009 à 04:30
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015
-
24 juin 2009 à 18:24
Bonjour,
Bon après avoir essayer un paquet de choses je ne sais vraiment plus quoi faire. Voila, j'essaie sur une applet toute simple :
J'ai juste un bouton "ok" et quand je clique dessus je veux envoyer et afficher une variable sur ma page.
Pour cela dans mon actionPerformed j'ai :
JSObject window = JSObject.getWindow(this);
Number area = (Number)window.eval("Math.PI *" + 2 );
window.eval("window.alert(area)");
Donc vraiment un exemple tout bete et j'ai comme erreur :
Reading certificates from 2146 http://localhost/TestJavaScript/TestJavaScript.jar | C:\Documents and Settings\naincus38.NAINCUS\Application Data\Sun\Java\Deployment\cache\6.0\32\703c0320-5b544b76.idx
test ok4 << (prouve que ca rentre bien la ou sont mes instructions)
Exception in thread "AWT-EventQueue-2" netscape.javascript.JSException: Failure to evaluate window.alert(area)
Voila, en fait c'est de passer une variable qui pose problème car un simple window.eval("window.alert('coucou')"); marche très bien.
hurricanaincus
Messages postés10Date d'inscriptiondimanche 28 mars 2004StatutMembreDernière intervention24 juin 2009 24 juin 2009 à 13:29
Bonjour,
Je tiens à préciser que le code est écrit dans l'applet donc
var area = Math.PI * 2 ;
window.alert(area);
ou
var ret;
eval("ret = Math.PI *" + maVar);
alert(ret);
ne marche pas, je suis obligé de passer par des window.eval("window.alert(area)"); pour afficher quelquechose.
Et en oubliant le calcul, meme une simple variable : String test= "coucou";
window. ("window.alert(coucou)"); me fait la meme erreur alors que comme je l'ai di si je fais window.eval directement sans passer par la varaible ca marche très bien.
J'ai contourner le problème en appelant une fonction js qui récupère elle meme la valeur de la variable :
Applet :
JSObject window = JSObject. getWindow (
this);
window.call("test",
null );
Page php :
<script language ="javascript">
function test()
{
maVar = document.myApp.getResultat(); }
</script>
Voila cela fonctionne mais si quelqu'un a une réponse à mon problème initial je suis preneur merci :) .
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 24 juin 2009 à 14:24
aller.... disons, que je te crois !?!!!! ;o)
dans ce cas, va donc voir sur le forum java...
mais, franchement.... j'ai quelques tout petits doutes.
sauf si tu confonds serveur/client... ?
hurricanaincus
Messages postés10Date d'inscriptiondimanche 28 mars 2004StatutMembreDernière intervention24 juin 2009 24 juin 2009 à 14:33
^^ ben l'exemple que j'ai donné il est tiré du livre JavaScript professionnel, partie "Applets et Java" donc je pense que leur exemple est bon. Mais moi j'ai toujours l'erreur "Failure to evaluate window.alert(area)" .
Donc du coup je l'ai contourné mais c'est pas ce qu'il y a de plus beau.
Et surtout j'aimerais bien savoir d'où vient cette erreur.
J'ai fait un petit tour sur le forum Java sans trouver grand chose non plus :(
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 24 juin 2009 à 15:14
bah... c'est que tu n'utilises pas "je ne sais quoi" comme il faut !
essaye donc, dans une bête page html ( tous navigateurs ! )
<script>
var area = Math.PI * 2 ;
window.alert(area);
</script>
ça baigne....
si ça ne fonctionne pas avec ce que tu fais.....
hurricanaincus
Messages postés10Date d'inscriptiondimanche 28 mars 2004StatutMembreDernière intervention24 juin 2009 24 juin 2009 à 15:22
Ahh mais ca ca marche c'est pas le problème, le truc c'est que ces lignes la, elles ne doivent pas se trouver dans ma page HTML mais dans l'applet!
Or quand je les écrit dans l'applet, au moment où je récupére mon String j'ai l'erreur décrite au dessus, je pense à un problème de sécurité/certificat, les applets c'est vraiment problèmatiques pour ça :(.
En fait au final je veux récupérer un String de mon applet et l'envoyer dans un formulaire sur ma page.
hurricanaincus
Messages postés10Date d'inscriptiondimanche 28 mars 2004StatutMembreDernière intervention24 juin 2009 24 juin 2009 à 15:46
Oué je sais pas trop, c'est un problème de javascript avec java donc c'est les deux :D !
Bon tant pis jvais rester sur ma solution sioux =).
Merci quand meme!
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 24 juin 2009 à 16:08
j'aurais tendance à penser comme Bul3 car même si c'est du code js il est éxécuté dans un applet et dépend donc du contexte d'éxécution java... si ça...
var test="coucou";
eval("alert('"+test+"')");
ça passe pas le pb ne vient pas de javascript mais de ton applet... .. .
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 24 juin 2009 à 16:14
window.call("test",
null);
j'ai du mal à comprendre l'utilité de cette ligne... tu éxécute la fonction window qui n'est pas une fonction avec comme contexte l'objet "test" qui n'est pas un objet et le paramètre null... j'aurais tendance à dire que c'est inutile... c'est pas plutot... .. .
hurricanaincus
Messages postés10Date d'inscriptiondimanche 28 mars 2004StatutMembreDernière intervention24 juin 2009 24 juin 2009 à 16:46
Bonjour!
Alors pour tout résumé faisons un test simple :
J'ai une applet avec un JTextField et un bouton OK.
Quand j'appuis sur le bouton ok, je veux que ce qui a écrit dans le textefield se retrouve dans une variable javascript pour ensuite la transmettre à un formulaire html.
J'arrive a apeler des fontions javascript, a afficher du texte etc.. à partir du java.
MAIS dès que je veux transmettre une variable directement, cela me sort l'erreur affiché au début.
Ce que j'ai écrit ensuite avec window.call("test",
null);
C'est jsute un moyen pour contourner l'erreur et ça marche avec ça mais c'est pas bien beau.
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 24 juin 2009 à 18:24
Ouep... bah à mon avis c'est un pb java... il y a surement des restrictions ou peut être une méthode X d'un objet java Y pour transmettre les données vers javascript... si ça...