Forum de discussion
Forum « Programmation Javascript » (archives)
Re: .CSS , javascript et ie 6
Envoyé: 11 février 2004, 9h57 par sananas
du coup les pages ne fonctionnent pas de la même manière.
Exemple, on peut créer 2 pages dans une même page, une qu'on appelera "input", et l'autre "liste"... c'est 2 pages sont identifié par %HTML(nom_de_la_page){ code %} et enregistré dans index.mbr
Pour appeller ma page input je dois faire /index.mbr/input j'suis donc obligée de faire ../liste pour changer de page...
c'est un peut compliqué, mais c'est pour vous situer...
Pour le site.css, il ne se situe pas à la racine.
En fait le calendrier fait appel à une base de donnée...
J'enregistre d'abord les données dans un array javascript... puis en executant ma fonction calendrier j'affiche les données de l'array dans les tableaux... mois par mois.
les données enregistrées dans l'array corresponde à des dates précises qui doivent avoir des couleur diffèrentes sur le calendrier
voici mon script complet, si vous arrivez à vous y retrouver malgré le net.data :
========================================
%{‚-----------------------------------------------------------------------%}
%{‚- DECLARATION DE VARIABLE -%}
%{‚-----------------------------------------------------------------------%}
%define{
chemin ="../../ophhtm/"
PageAttention ="../../ophhtm/rg/attention.html"
type ="Bureau"
javascript ="../../ophhtm/cal_agenda/javascript.js"
DTW_SET_TOTAL_ROWS="yes"
%}
%{‚-----------------------------------------------------------------------%}
%{‚- CREATION DU TABLEAU NETAGEP1 -%}
%{‚-----------------------------------------------------------------------%}
%FUNCTION(DTW_SQL) lire() {
SELECT DISTINCT reunion,typereu,ordrreu
FROM qgpl.netreup1
ORDER BY ordrreu,typereu,reunion
%REPORT{
<table align="left" border="0" cellspacing='0' cellpadding='2' width="440">
@dtw_assign(nametype,"0")
@dtw_assign(lientot,"$(TOTAL_ROWS)")
@dtw_assign(lien,"0")
%row{
@dtw_add(lien,"1",lien)
@dtw_assign(compt,"0")
@dtw_assign(mouseclick,"")
%WHILE(compt<lientot)
{
@dtw_add(compt,"1",compt)
%IF (compt!=lien)
@dtw_concat(mouseclick,"document.getElementById('txt$(compt)').className='desactiv';",mouseclick)
%ELSE
@dtw_concat(mouseclick,"document.getElementById('txt$(compt)').className='activ';",mouseclick)
%ENDIF
%}
<tr>
<td align="left" style="background-color:#FFFFFF" class="normal" nowrap><b>-></b> <a href="../agendareunion.mbr/input?type=$(V1)" target="mainAgenda" id="txt$(lien)" %IF (lien=="1") class="activ" %ELSE class="desactiv" %ENDIF onclick="$(mouseclick)"> $(V1)</a></td>
</tr>
%}
</table>
%}
%}
%MACRO_FUNCTION liretype(type) {
%REPORT{
<table align="left" border="0" cellspacing='0' cellpadding='0' width="440">
@dtw_assign(nametype,"0")
<tr>
<td class="bordurenoire" align="center" style="background-color:#FFE0B0" valign="middle"> <span class="titreu" > $(type)</span></td>
</tr>
<tr>
<td align="center">
<script>
@dtw_assign(varmois,"MOIS$(nametype)")
%IF ($($(varmois))!="")
ms=$(MOIS$(nametype))-1;
if (ms<0) ms=12;
an=$(ANNEE$(nametype));
%IF($(MOIS0)<"10")
@dtw_assign(varms2,"0$(MOIS0)")
%ENDIF
@dtw_assign(varms,"$(ANNEE0)$(varms2)")
%ELSE
var dj=new Date();
ms=dj.getMonth();
an=dj.getYear();
@dtw_date("S",initdate)
@dtw_substr(initdate,"1","6",varms)
%ENDIF
@dtw_substr(varms,"1","4",varms1)
@dtw_substr(varms,"5","2",varms2)
@dtw_subtract(varms2,"1",varms2)
@dtw_subtract(varms,"1",varms)
@dtw_add(varms,"4",varan)
%IF(varms2=="00")
@dtw_subtract(varms1,"1",varms1)
@dtw_assign(varms,"$(varms1)12")
@dtw_subtract(varan,"1",varan)
%ENDIF
@lireJour(type,varms,varan)
annee(ms,an,3,"$(nametype)","$(type)");
</script>
</td>
</tr>
@dtw_add(nametype,"1",nametype)
</table>
%}
%}
%FUNCTION(DTW_SQL) lireJour(in type,varmois,varan) {
SELECT typere,remarq,dathex,dater9
FROM qgpl.agreprevp1
WHERE typere='$(type)' and dater9>$(varmois)00 and dater9<$(varan)00
ORDER BY typere,dater9
%MESSAGE{
100 : "" : continue
%}
%REPORT{
totdate=$(TOTAL_ROWS);
aaaa=$(varan);
mmmm=$(varmois);
%row{
@dtw_assign(rq,V_remarq)
@dtw_replace(V_remarq,"'","\'",rq)
remark[nbdate]='$(rq)';
datehex[nbdate]="$(V_dathex)";
tab_type[nbdate]="$(V_typere)";
passe[nbdate]="$(V_dater9)";
nbdate++;
%}
%}
%}
%{-----------------------------------------------------------------------%}
%{- PAGE HTML -%}
%{-----------------------------------------------------------------------%}
%MESSAGE{
100 : "" : continue
%}
%html(liste){
<head>
<link rel="stylesheet" type="text/css" href="$(style2)">
</head>
<title>..:: Agenda en ligne ::..</title>
</HEAD>
<body>
<table border="0" width="512" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3" align="right" width="*" background="$(chemin)images/m-agenda.gif" height="18">
<a href="http://s44a1403/netzebra/majagreunion.txt/input?ZW_LOGIN=$(ZW_LOGIN)" class="maj" target="_parent"> Mise à jour </a>
</td>
</tr>
</table>
@lire()
</body>
</html>
%}
%html(input){
<head>
<link rel="stylesheet" type="text/css" href="../../ophhtm/style/site.css">
<SCRIPT language="javascript" src="$(javascript)"></SCRIPT>
</head>
<title>..:: Agenda en ligne ::..</title>
<SCRIPT LANGUAGE="JavaScript">
// Ici on déclare les dates des jours fériés fixes
var ferie=new Array("01/01","01/05","08/05","14/07","15/08","01/11","11/11","25/12");
var mois=new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
var Sms=new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
var remark = new Array("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","");
var datehex = new Array("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","");
var passe = new Array("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","");
var tab_type = new Array("","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","");
var totdate=0;
var nbdate=0;
function calendar(m, a,w,natp) {
var d_jour=new Date();
var d=new Date(a,m-1,1);
var dfin=new Date(a,m-1,1);
var nb_jour=31;
var aff_j="";
var indefini;
for(var k=32;k>27;k--) {
dfin.setMonth(m-1);
dfin.setDate(k);
if (dfin.getMonth()!=m-1) {nb_jour=k-1;}
}
var j1=d.getDay(); if (j1==0) j1=7;
var jour=0;
if (w==1)
{
disp("<span class='matext'><CENTER><B>"+SelMois(d.getMonth(),natp)+" "+SelAnnee(a,natp)+"</B></CENTER></span>");
}
else{
if (w==0) {
if (m=="0") {a--;}
}
disp("<span class='matext'><CENTER><B>"+mois[d.getMonth()]+" "+a+"</B></CENTER></span>");
}
disp("<TABLE border=0 bgcolor='#FFFFFF' cellspacing='1' cellpadding='2' >");
disp("<TR align='center' class='jsemaine'><TD width='10'>L</TD><TD width='10'>M</TD><TD width='10'>M</TD><TD width='10'>J</TD><TD width='10'>V</TD><TD width='10'>S</TD><TD width='10'>D</TD></TR>");
for(var z=0;z<6;z++) {
disp("<TR class='normal'>");
for (j=0;j<7;j++) {
jour=7*z+j-j1+2;
aff_j=jour;
colorbg="#EEEEEE";
urlrefd='';
urlreff='';
dp='';
//dp=passe[jour];
for(var v=0;v<totdate;v++)
{
dp=passe[v];
if ((isNaN(dp)==false)&&(dp.length>0))
{
if (dp < @dtw_rdate("s")) dpp="o";
else dpp="n";
dp=dp+"";
dpa=dp.substring(0,4);
dpm=dp.substring(4,6);
dpj=dp.substring(6,8);
ms=m;
if (ms=="0") ms=12;
if ((dpa==a)&&(dpm==ms)&&(dpj==jour))
{
//alert(dp);
if (dpp=="n") colorbg='#99CCAA';
else colorbg='#FF9999';
msg="<b>"+tab_type[v]+"</b><br>"+datehex[v];
if (remark[jour]!="") msg=msg+" <br><b>Remarque : </b>"+remark[v];
urlrefd='<a href="#" onMouseOver="poplink(\''+msg+'\',\''+colorbg+'\');" onmouseout="closepopup()">';
urlreff='</a>';
}
}
}
cl="normal";
if ((jour==d_jour.getDate())&&(m==d_jour.getMonth()+1))
{
cl="jJ";
}
if ((7*z+j>=j1-1)&&(jour<=nb_jour)) {
if ((j==6)||(j==5)||(estFerie(jour,m))) disp("<TD width='10' align='center' class='jferier'>"+aff_j+"</TD>");
else disp("<TD width='10' bgcolor='"+colorbg+"' class='"+cl+"' align='center'>"+urlrefd+""+aff_j+""+urlreff+"</TD>");
}
else disp("<TD width='10' bgcolor='#FFFFFF'> </TD>");
}
disp("</TR>");
}
disp("</TABLE>");
}
</SCRIPT>
</HEAD>
<body>
%if (type!="0")
@liretype(type)
<DIV class='limabox' id='popbox' style="position:absolute; width:500px; height:50px; z-index:1; left: 40px; top: 155px;"></DIV>
<SCRIPT type="text/javascript">
if (document.getElementById){
box = document.getElementById("popbox").style;
if(navigator.appName.substring(0,3) == "Net")
document.captureEvents(Event.MOUSEMOVE);
poplink("pour voir les détails d'une réunion<br>sélectionnez la date correspondante","#EEEEEE");
}
function poplink(contenu,colorbgbox){
var content ='<TABLE BORDER=0 CELLPADDING=0 class="bordurenoire" CELLSPACING="0" BORDERCOLOR="#000000"><TR><TD><TABLE WIDTH="350" CELLPADDING="2" CELLSPACING="0"><TR><TD BGCOLOR='+colorbgbox+'><CENTER><font size="2">'+contenu+'</font></CENTER></TD></TR></TABLE></TD></TR></TABLE>';
if (document.getElementById)
{
document.getElementById("popbox").innerHTML =content;
box.visibility = "visible";
}
}
function pointer(e)
{
var y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;
box.left = 455;
box.top = y-40;
}
function closepopup()
{
poplink("pour voir les détails d'une réunion<br>sélectionnez la date correspondante","#EEEEEE");
}
</SCRIPT>
%endif
</body>
</html>
%}
=====================================
Et le code contenu dans .js :
=====================================
function collien(namelien,nbtot)
{
for(i=1;i<=nbtot;i++)
{
nomlien="l"+i
nomlien="desactiv";
}
namelien="activ";
}
function disp(txt) { document.write(txt) }
function estFerie(j,m) {
var nb=ferie.length;
var test=false;
for(var i=0;i<nb;i++) {
if ((ferie[i].substring(0,2)==j)&&(ferie[i].substring(3,5)==m)) return true;
}
return false;
}
function SelMois(ms,natp){
SM="<select name='MOIS"+natp+"' size=1 class='mabox' onchange='this.form.submit()'>";
for (var v=1;v<=12;v++)
{
zw="";
if (v==(ms+1)) zw=" selected ";
SM=SM+"<OPTION value="+v+""+zw+">"+mois[v-1]+"</option>";
}
SM=SM+"</select>";
return SM;
}
function SelAnnee(an,natp){
SA="<select name='ANNEE"+natp+"' class='mabox' size=1 onchange='this.form.submit()'>";
for (var v=-1;v<=2;v++)
{
va=an+v;
zw="";
if (va==an) zw=" selected ";
SA=SA+"<OPTION value="+va+" "+zw+">"+va+"</option>";
}
SA=SA+"</select>";
return (SA);
}
<!-- Script développé par Olivier Hondermarck Modifié par Sandra Chabod-->
function annee(ms,an,aff,natp,type) {
disp("<form name='calform' method='get' action=''>");
disp("<TABLE cellspacing=15>");
if (aff>4) {
r=aff%4;
s=aff-(r*4);
}
else {
s=aff;
r=0;
}
disp("<TABLE cellpading=0 cellspacing=2 border=0>");
for (i=0;i<=r;i++) {
disp("<TR bgcolor='#4488BB'>");
for (w=0;w<s;w++) {
disp("<TD align='center'>");
calendar(ms,an,w,natp);
if (ms=="12") {ms=0; an++;}
ms++;
disp("</TD>");
}
disp("</TR>");
}
disp("</TABLE>");
disp("<input type='hidden' name='type' value='"+type+"'>");
disp("</form>");
}
Réponses
|