#include et JavaScript

Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008 - 3 févr. 2005 à 09:47
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007 - 4 févr. 2005 à 12:16
Je suis débutant en ASP et je voudrais faire une bibliothèque de fonctions et procédures...
j'ai donc créé un "module.asp" qui contient des fonctions et des procédures...

Cependant certaines d'entre elles sont en JavaScript ou en VBScript
par exemple, j'ai une fonction "popup", qui me lance une page passée en paramètre dans une pop-up, écrite en JavaScript.

Ma question est la suivante, est ce qu'en faisant un <!-- #include file="module.aps" --> dans ma page ASP, je pourrais utiliser ma fonction "popup" ?

Merci d'avance

6 réponses

Nicolas_kojack Messages postés 136 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 25 mai 2012
3 févr. 2005 à 11:30
Oui mais tu dois mettre ton include au bon endroit c'est à dire que si ta fonction doit être dans placée dans le <HEAD> tu dois mettre ton include dans le <HEAD> sinon ta fonction ne fonctionnera pas (hahahah c le cas de le dire).

Autre chose si jamais tu devais mettre des Recordset dans ton include bien évidemment tu ne devra pas utiliser les même dans la page ou tu inclus le fichier.

exemple :

module.asp :
<%
'ca en une seule ligne bien sûr :
Conn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.mapPath("database/base.mdb")

'ton recordset et tout le toutim :

Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM tatable"
rs.Open SQL, conn ,3 ,3
%>

tapage.asp (celle qui contient l'include) :

<%
' 1ère :pas question de remmettre une connection c a d pas de conn =.........

'2ème : tu ne devras pas reutiliser ni rs ni sql si tu ajoute un lien avec ta base

Set rs2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT * FROM tatable"
rs2.Open SQL2, conn ,3 ,3

%>

ensuite si tu desires réutiliser des fonctions comprises dans l'include tu le peux en utilisant les termes employés dans module.asp....

En bref pour te résumer la situation, lorsque tu mets un include tu fais comme si le texte de l'include était sur la page normale. et voili voilou!

En espérant que cela puisse te servir, bien la bonn journée

Nicolas
0
Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008
3 févr. 2005 à 14:38
Merci beaucoup...

je peux donc le mettre au tout début de mon fichier ASP avant même d'avoir mis un <HTML> ???
0
Nicolas_kojack Messages postés 136 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 25 mai 2012
3 févr. 2005 à 14:42
re Chris,

Oui tu peux le faire mais j'oubliais de te dire que tu dois enlever l'entete du fichier qui sert d'include (module.asp):

<html>


<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Nouvelle page 2</title>
</head>



</html>

Tu dois enlever tout ca.
0
Chris_LaFouine Messages postés 109 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 4 juin 2008
3 févr. 2005 à 15:37
Hola, j'ai pas tout ça!!! Bon, mon ASP, je le tape sous Textpad (equivalent NotePad pour ceux qui connaissent pas)...
Voila le squelette de mon "module.asp" :
<SCRIPT LANGUAGE=Javascript>
function popup(lien)
{ //code Javascript
}
</SCRIPT>
<%
Function requete(sql)
'Code
End Function
%>

Et ensuite mon programme principal "main.asp" :
<!-- #include file="module.asp" -->
<% Dim rsClient
rsClient=requete("SELECT NomClient,PrenomClient FROM Client WHERE NoClient=18")
%>
<SCRIPT LANGUAGE=JavaScript>
//Diverses fonctions...
</SCRIPT>

<HTML>
<HEAD>
<TITLE>EssaiASP</TITLE>
</HEAD>

Bonjour <%=rsClient("PrenomClient")%> <%=rsClient("NomClient")%>
[# Suite]

</HTML>

Bon, c'est très raccourci et très simplifié, mais la structure, c'est à peu près ça.
Donc, maintenant que c'est plus clair, est ce que ce type de programme pourrait fonctionner en mettant le #include au tout début de mon "main.asp"?

Merci...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nicolas_kojack Messages postés 136 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 25 mai 2012
3 févr. 2005 à 15:52
Dans la philosophie je pense que cela doit pouvoir se faire mais je ne puis te repondre par manque de connaissance en la matière de fonctions... Je connais trop mal ce sujet. Merci de me le rappeler (hahaha)
0
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
4 févr. 2005 à 12:16
Bonjour

La meilleure réponse à ta première question serait : "Essaye, tu verras bien".
Plus précisément, la réponse est OUI. Si tu mets un #include OU TU VEUX dans ta page, les fonctions décrites dans ton "modules.asp" seront utilisables (c'est le but).Il est d'usage de déclarer les fonctions et procédures en debut de programme, donc le mettre plutôt en début de fichier.
Pour tes fonctions javascript, je te conseille de plutôt les mettre dans un fichier à part , "modules.js" par exemple, et de l'appeler par
<javascript language="javascript" src="modules.js"></script>. Effectivement entre <head> et </head>.

Ton fichier modules.js sera téléchargé une fois pour toutes sur le navigateur client. Tu optimise ainsi l'accés à tes pages (avec #include, tu enverra à chaque fois l'intégralité de tes fonctions javascript à chaque chargement de page. Il vaut mieux l'utiliser pour les traitements serveur)

Cordialement
Roro webDev
0
Rejoignez-nous