ugrás a tartalomhoz

JavaScript esemény naptár csak az első pillanatban jelenik meg

Anonymous · 2006. Dec. 10. (V), 17.35
Csekély ismereteimet tekintve egy esemény naptárt úgy szerettem volna megoldani hogy egy oldalra kerüljön egy szimpla php-s üzenő fal és egy java script-es naptár, valamit sikerült is csinálnom a gond csak az hogy a naptár csak az első pillanatban jelenik meg aztán eltűnik, nekem meg mind kettő kéne egyszerre :(

Ha valakinek volna ötlete nagyon nagyon megköszönném!!

Katica

ez a html-es rész ahova beillesztettem a naptárt, azt hiszem ezzel lehet a gond, a refresh-es résznél de passz :( , ha kell a php-s dolgokat is letudom küldeni...:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<script type="text/javascript"  language="javascript">
<!-- innen

var day_of_week = new Array('V','H','K','Sze','Cs','P','Szo');
var month_of_year = new Array('Január','Február','Március','Április','Május','Június','Július','Augusztus','Szeptember','Október','November','December');

var Calendar = new Date();

var year = Calendar.getYear();
var month = Calendar.getMonth();
var today = Calendar.getDate();
var weekday = Calendar.getDay();

var DAYS_OF_WEEK = 7;
var DAYS_OF_MONTH = 31;
var cal;

Calendar.setDate(1);
Calendar.setMonth(month);

/* Formázhatók: BORDER, BGCOLOR, CELLPADDING, BORDERCOLOR*/
var TR_start = '<TR>';
var TR_end = '</TR>';
var highlight_start = '<TD WIDTH="30"><TABLE CELLSPACING=0 BORDER=1 BGCOLOR=DEDEFF BORDERCOLOR=CCCCCC><TR><TD WIDTH=20><B><CENTER>';
var highlight_end   = '</CENTER></TD></TR></TABLE></B>';
var TD_start = '<TD WIDTH="30"><CENTER>';
var TD_end = '</CENTER></TD>';

/* Formázhatók: BORDER, BGCOLOR, CELLPADDING, BORDERCOLOR*/
cal =  '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 BORDERCOLOR=BBBBBB><TR><TD>';
cal += '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2>' + TR_start;
cal += '<TD COLSPAN="' + DAYS_OF_WEEK + '" BGCOLOR="#EFEFEF"><CENTER><B>';
cal += month_of_year[month]  + '   ' + year + '</B>' + TD_end + TR_end;
cal += TR_start;

for(index=0; index < DAYS_OF_WEEK; index++)
{

if(weekday == index)
cal += TD_start + '<B>' + day_of_week[index] + '</B>' + TD_end;

else
cal += TD_start + day_of_week[index] + TD_end;
}

cal += TD_end + TR_end;
cal += TR_start;

for(index=0; index < Calendar.getDay(); index++)
cal += TD_start + '  ' + TD_end;

for(index=0; index < DAYS_OF_MONTH; index++)
{
if( Calendar.getDate() > index )
{
  week_day =Calendar.getDay();

  if(week_day == 0)
  cal += TR_start;

  if(week_day != DAYS_OF_WEEK)
  {

  var day  = Calendar.getDate();

   // mai nap kiemelése
  if( today==Calendar.getDate() )
  cal += highlight_start + day + highlight_end + TD_end;

  else
  cal += TD_start + day + TD_end;
  }

  if(week_day == DAYS_OF_WEEK)
  cal += TR_end;
  }

  Calendar.setDate(Calendar.getDate()+1);
}

cal += '</TD></TR></TABLE></TABLE>';

document.write(cal);
// eddig -->
</script>
<head>
<meta http-equiv="refresh" content="1; URL=forum.php">
<link href="./inc/styles.css" rel="stylesheet" type="text/css">
</head>
<body onload='Calendar'>
</body>
</html>
 
1

első átfutásra

rrd · 2006. Dec. 10. (V), 18.39
a <body onload='Calendar'> elvileg megcsinálja amit szeretnél, de a <meta http-equiv="refresh" content="1; URL=forum.php"> elvezet az oldalról. Nem beszélve arról, hogy a document.write-ot a végén le is kellene zárni egy close-zal.

Ha jól értem mit akarsz akkor ez nem lesz jó. Vagy AJAX-szal oldod meg, vagy szimplán PHP-val JS nélkül.