salve a tutti ho un problema con il un script per fare il calendario con una pop up mi spiego meglio funziona il calendario...pero vorrei che i campi di testo fossero inizializati alla data odierna lo script c'è l'ho ma se lo integro non funziona piu niente nel senso che se clicco sul pulsante non mi visualizza piu il calendario adesso vi posto i due codici :
questa e la pagina :
<script language="javascript">
function settag() {
var oggi = new Date();
document.myform.giorno.value = oggi.getDate();
document.myform.mese.value = oggi.getMonth() +1;
document.myform.anno.value = oggi.getFullYear();
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
document.write('<script language="JavaScript" src="datax.js"></sc' + 'ript>');
</script>
<style type="text/css">
<!--
-->
</style>
</head>
<body bgcolor="#FFFFFF" onLoad="settag();">
<script language="JavaScript">
var source;
var tipo;
var campi = new Array();
function cal(val, e, t) {
var dt = new Array();
xPos = (document.layers) ? e.pageX : ((document.all) ? event.x : e.clientX);
yPos = (document.layers) ? e.pageY : ((document.all) ? event.y : e.clientY);
tipo = t;
source = val;
if (t == 0) {
dt[0] = val[0].value;
dt[1] = val[1].value;
dt[2] = val[2].value;
}
else
dt = val.value.split('-');
showCalendar(new Date(dt[2], dt[1] - 1, dt[0]), xPos, yPos);
}
</script>
<form name="myform" >
<table width="10%" border="0" cellspacing="0" cellpadding="4" align="center">
<tr>
<td nowrap align="right"><font face="Arial, Helvetica, sans-serif" size="2">Data
iniziale:</font></td>
<td nowrap><input type="text" name="giorno" size="4" > <input type="text" name="mese" size="4" >
<input type="text" name="anno" size="6" > <input type="button" name="go" value="V" onMouseDown="cal(new Array(giorno, mese, anno), event, 0)">
</td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td align="right"></td>
<td></td>
</tr>
</table>
</form>
</body>
</html>
questa e la pagina che gnera il calendario :
var xwidth = 220;
var xheight = 180;
var browser = document.layers ? 0 : document.all ? 1 : 2;
// colori
var backtable = '#90C0FF';
var calendback = '#DDDDBB';
var lines = '#404040';
var bright = '#000000';
var festa = '#FD9139';
// ------ Non cambiare ----------
var mesi = new Array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno',
'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre');
var days = new Array('Lu', 'Ma', 'Me', 'Gi', 'Ve', 'Sa', 'Do');
var dd = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var today = new Date();
var anno = today.getFullYear();
var mese = today.getMonth();
var currday = today.getDate();
var cellwidth = Math.floor(xwidth / 7);
xwidth = cellwidth * 7;
var xmese = 0;
var aboutx = false;
var isOn = false;
function action(g, m , a) {
function format(x) {
return x > 9 ? x : "0" + x;
}
getId().showIt(false);
if (tipo == 0) {
source[0].value = format(g);
source[1].value = format(m + 1);
source[2].value = a;
}
else
source.value = format(g) + '-' + format(m + 1) + '-' + a;
}
document.write('<style type="text/css">\n<!--');
document.write('.cal { font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #000099}');
document.write('.num { font-family: Arial, Helvetica, sans-serif; font-size: 12px; text-decoration:none}');
document.write('.mese { font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: #663300}');
document.write('.butt { font-family: Arial, Helvetica, sans-serif; font-size: 10px}');
document.write('-->\n</style>');
function comparedate(d1, d2) {
if (d1.getFullYear() == d2.getFullYear() && d1.getMonth() == d2.getMonth() && d1.getDate() == d2.getDate())
return true;
return false;
}
function pasqua(aa) {
var xx = new Array(22, 22, 23, 23, 24, 24);
var yy = new Array(2, 2, 3, 4, 5, 5);
var a = aa % 19;
var b = aa % 4;
var c = aa % 7;
var i = Math.floor(aa / 100) - 15;
var x = xx[i], y = yy[i];
var d = (19*a + x) % 30;
var e = (2*b + 4*c + 6 * d + y) % 7;
var p = 22 + d + e;
var m = 300;
if (p > 31) {
m = 400;
p = p - 31;
}
return m + p;
}
function isfesta(d) {
var feste = new Array(0, 101, 106, 425, 501, 602, 815, 1101, 1208, 1225, 1226);
if (d.getDay() == 0)
return true;
var pp = pasqua(d.getFullYear()) + 1; // Pasquetta
if (pp % 100 > 31)
pp = 401;
feste[0] = pp;
for (var i = 0; i < feste.length; i++)
if (Math.floor(feste[i] / 100) == d.getMonth() + 1) {
var gg = feste[i] % 100;
if (gg == d.getDate())
return true;
}
return false;
}
function calendar(currday, mese, anno) {
var dx = 2 - (new Date(anno, mese, 1)).getDay();
if (dx == 2)
dx = -5;
var daysInMonth = dd[mese];
if (mese == 1) {
if (anno % 4 == 0 && anno % 100 != 0 || anno % 400 == 0)
daysInMonth++
}
var tx = '<div class="mese">' + mesi[mese] + ' ' + anno +'</div>\n';
tx += '<table width="' + xwidth + '" border="0" cellspacing="1" cellpadding="1">\n';
tx += '<tr align="right">\n';
for (var i = 0; i < 7; i++)
tx += '<td width="' + cellwidth+ '" class="cal">' + days[i] + '</td>\n';
tx += '</tr>\n';
for (var j = 0; j < 6; j++) {
tx += '<tr bgcolor="' + calendback + '" align="right">\n';
for (var i = 0; i < 7; i++) {
var bgstring = "";
var fgcol = lines;
var fgstring = '';
if (dx > 0 && dx <= daysInMonth) {
fgstring = dx;
var ddx = new Date(anno, mese, dx);
if (isfesta(ddx)) {
bgstring = ' bgcolor="' + festa + '"';
}
if (comparedate(ddx, today)) {
fgcol = bright;
fgstring = '<u>' + dx + '</u>\n';
}
var tempdate = ddx.getDate() + ", " + ddx.getMonth() + ", " + ddx.getFullYear();
fgstring = '<font color="' + fgcol + '">' + fgstring + '</font>\n';
}
tx += '<td width="' + cellwidth + '" class="num"' + bgstring + '>\n';
tx += fgstring;
tx += '</td>\n';
dx++;
}
tx += '</tr>\n';
}
tx += '</table>\n';
return tx;
}
function dataframe(x) {
var s = '<table width="' + xwidth + '" border="1" cellspacing="0" cellpadding="0" bgcolor="' + backtable + '">';
s += '<tr>\n<td class="mese" valign="middle">';
s += x; calendar(currday, mese, anno);
s += '</td></tr><tr><td>';
s += '<form class="butt"><table width="100%" border="0" cellspacing="0" cellpadding="2">';
s += '<tr>';
s += '<td><input type="button" name="about" value="about" class="butt" onclick="xabout()"></td>';
s += '<td align="right"><input type="button" name="prev" value=" - " class="butt" onclick="altro_mese(-1)">';
s += '<input type="button" name="current" value="Default" class="butt" onclick="altro_mese(9)">';
s += '<input type="button" name="next" value=" + " class="butt" onclick="altro_mese(1)"></td>';
s += '</tr></form></table>';
s += '</td>\n</tr>\n</table>';
return s;
}
function altro_mese(x) {
xmese += x;
if (x == 9)
xmese = 0;
var xday = (xmese == 0)? currday : 99;
var mm = (mese + xmese) % 12;
while (mm < 0)
mm += 12;
var s = dataframe(calendar(xday, mm, anno + Math.floor((mese + xmese) / 12)));
writeLayer(s);
aboutx = false;
}
function getId() {
switch (browser) {
case 0:
return document.layers.calframe;
case 1:
return eval('calframe');
case 2:
return document.getElementById("calframe");
}
}
function moveLayer(xPos, yPos) {
switch (browser) {
case 0:
this.left = xPos;
this.top = yPos;
break;
case 1:
this.style.pixelLeft = xPos;
this.style.pixelTop = yPos;
break;
default:
this.style.left = xPos;
this.style.top = yPos;
}
}
function createlayer() {
var s;
if (document.layers)
s = '<layer id="calframe" visibility="hide" z-index=1>';
else
s = '<div id="calframe" style="position:absolute; visibility: hidden">';
if (document.layers)
s += '</layer>';
else
s += '</div>';
document.writeln(s);
}
function showIt(on) {
isOn = on;
if (browser)
this.style.visibility = (on) ? "visible" : "hidden";
else
this.visibility = (on) ? "show" : "hide"
}
function writeLayer(s) {
var id = getId();
if (browser)
id.innerHTML = s;
else {
id.document.open();
id.document.write(s);
id.document.close();
}
}
function init() {
var id = getId();
id.moveLayer = moveLayer;
id.showIt = showIt;
id.showIt(false);
}
function showCalendar(d, xpos, ypos) {
if (!isOn) {
anno = today.getFullYear();
mese = today.getMonth();
currday = today.getDate();
if (arguments.length > 2) {
var id = getId();
id.moveLayer(xpos, ypos);
}
else
getId().moveLayer(100, 100);
xmese = 0;
writeLayer(dataframe(calendar(currday, mese, anno)));
}
getId().showIt(!isOn);
}
createlayer(1);
onload = init;
grazie a tutti..........