[Html/VbS] Lancer une fonction via un lien

Lancer une fonction via un lien [Html/VbS] - HTML/CSS - Programmation

Marsh Posté le 30-08-2007 à 12:22:22    

Bonjour,
 
J'ai un problème qui peut sembler super simple au 1er abord : je n'arrive pas à afficher un lien exécutant une fonction.
 
J'ai donc simplifié mon script au maximum, pour afficher seulement ce qui pose problème :  
 
http://img249.imageshack.us/img249 [...] vbsyr0.png
 
 
Donc lorsque j'affiche la page sous IE, la ligne 19 a pour effet d'afficher la msgbox à l'écran. Donc la fonction Affiche est bien reconnue !
 
Mais lorsque je clique sur le lien (défini ligne 25), l'erreur renvoyée est  
"Type incompatible : Affiche".
 
 
Merci de m'expliquer ce qui se passe, car je perd beaucoup de temps sur ce *#@"&# lien  :(  
 
Bonne journée.

Reply

Marsh Posté le 30-08-2007 à 12:22:22   

Reply

Marsh Posté le 30-08-2007 à 12:42:05    

Moi c'est plus sur tes choix que sur tes problèmes que je me pose des questions...
Pourquoi avoir choisi VBS?!
Pourquoi faire des document.write à la pelle plutot que d'écrire directement ce que tu souhaites afficher?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 30-08-2007 à 12:45:24    

Et bien comme je le disait, ceci n'est qu'une petite partie de mon script.
 
Le script contient beaucoup de variables, d'où l'utilisation des document.write pour les afficher.
 
C'est clair que c'est un peu laborieux, à écrire tous ces document.write, mais j'ai pas vraiment le choix.

Reply

Marsh Posté le 30-08-2007 à 12:54:44    

ON pourrait connaitre la raison de tous les choix que tu as fait (et qui sont naze pour ele peut qu'on voit) :  
- pourquoi VBS ?
- Pourquoi des document.write alors que le DOM c'est pas faire pour les chiens ?
- Pourquoi te limiter à IE sachant que le VBS n'est pris que part IE et peut etre un peu bloqué sur IE7

Reply

Marsh Posté le 30-08-2007 à 13:04:00    

- VBS car je ne connaissais que le VbS et le JavaScript, et ce depuis 1 mois. Donc j'avais pas trop le temps d'apprendre une autre solution.
De +, les fonctions utilisées dans ce programme sont propres à l'entreprise où je suis, et ne sont codées qu'en VBScript et JavaScript.
 
- document.write car c'est comme cela que j'ai appris. De +, le reste du programme fonctionne parfaitement. C'est juste que maintenant, on m'a demandé une petite modification, et donc si cela implique d'abandonner les document.write, ca sera beaucoup trop long, et je n'ai que peu de temps.
 
DOM : c'est la 1ère fois que je vois ce terme et je n'ai aucune idée de ce que ca peut être. Si tu pouvais me donner un lien, que je puisse me renseigner pour la prochaine fois où ça pourrait m'être utile. :)
 
 
- IE car le client utilise IE (une version antérieure à la 7).
 
 
 
Maintenant, je voyais bien que les document.write n'étaient pas pratiques, en effet, mais là où je suis, c'est comme cela que l'on fait, et j'aurais bien aimé connaître un autre moyen.


Message édité par Roronoa_Zoro le 30-08-2007 à 13:07:20
Reply

Marsh Posté le 30-08-2007 à 13:43:21    

et pourquoi du VBS ? autant tout faire en JS c'est autrement plus simple  
 
Là ou tu es ils font juste de la merde apparament

Reply

Marsh Posté le 30-08-2007 à 13:52:10    

Bah j'y peux rien !
 
Comment voulais-tu que je prévois, au moment où j'ai commencé le script, les futurs problèmes que me poseraient le VBScript.
 
De plus, le VBScript me semble nécessaire car je manipule des fichiers Excel. Le vrai but du lien est d'exporter le contenu de la page Html vers Excel.
 
J'suis loin d'être un as de la programmation. Le VBScript et le JS, je ne les ai découverts qu'en lisant des scripts ici.
 
Maintenant, le script fait environ 1500 lignes, et si je dois tout retranscrire en Javascript, autant lâcher l'affaire, car j'ai peu de temps devant moi.
 
C'est clair qu'à l'avenir, je saurais éviter de prendre le VBScript quand j'aurais le choix, mais en attendant, je bloque sur un tout petit problème, donc si au moins on pouvait juste me donner une solution, ou me dire ce qui cloche...
En gros, pourquoi la ligne 19 fonctionnerait alors que la ligne 25 pose problème ?
 
merci.


Message édité par Roronoa_Zoro le 30-08-2007 à 13:57:27
Reply

Marsh Posté le 30-08-2007 à 15:29:25    

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
  5. <title>test</title>
  6.    
  7. <script language ="vbscript">
  8.   sub affiche()
  9.   msgbox "test fonctionne"
  10.   end sub
  11. </script> 
  12. <body>
  13. <form name='page'>
  14. <a href='#' onclick='vbscript: call affiche()'>Cliquez ici</a>
  15. </form>
  16. </body>
  17. </html>


 
fonctionne sur IE7

Reply

Marsh Posté le 30-08-2007 à 15:32:55    

Merci pour ton aide.
 
Mais effectivement, j'avais déjà essayé cette possibilité, mais le problème c'est que ça n'affiche pas les variables calculées dans le script.
 
Or dans mon programme, ces variables doivent être affichées.

Reply

Marsh Posté le 30-08-2007 à 15:56:27    

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
  5. <title>test</title>
  6.    
  7. <script language ="vbscript">
  8.   sub affiche()
  9.    msgbox "test fonctionne !!"
  10.   end sub
  11. </script> 
  12. <script language="vbscript">
  13. document.write "<body>"
  14. document.write "<form name='page'>"
  15. document.write "<a href='#' onclick='vbscript: call affiche()'>Cliquez ici</a>"
  16. document.write "</form>"
  17. </script>
  18. </body>
  19. </html>

Reply

Marsh Posté le 30-08-2007 à 15:56:27   

Reply

Marsh Posté le 30-08-2007 à 16:58:36    

Merci, ça marche, en effet !
 
 
Mais malheureusement, lorsque je supprime "for=window event=onload" de ma balise script, le lien vers Affiche() fonctionne, mais une autre fonction n'est plus reconnue.
 
Cette fonction est propre à l'entreprise, et je ne sais pas du tout comment elle est agencée.
 
Finalement, je vais lâcher l'affaire avec cette histoire de lien, et j'vais essayer de faire autrement.
 
Reste à savoir comment exécuter une fonction à la demande seulement de l'utilisateur, et sans utiliser de lien ou bouton...  
 
 
Bonne soirée.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed