#include et JavaScript

Signaler
Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008
-
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007
-
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

Messages postés
136
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
25 mai 2012

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
Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008

Merci beaucoup...

je peux donc le mettre au tout début de mon fichier ASP avant même d'avoir mis un <HTML> ???
Messages postés
136
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
25 mai 2012

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.
Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008

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...
Messages postés
136
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
25 mai 2012

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)
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

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