Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    311

    calendar. swazz ok, come metterlo sempre visibile ?

    buongiorno,
    sto usando uno script che abilita la scelta di una data da un semplice calendario che appare quando si clicca sul campo testo associato... mi chiedevo come posso avere le stesse funzioni, ma avere il calendario sempre visibile e non solo quando si clicca sul campo testo.

    il javascript:
    Codice PHP:
    /* --- Swazz Javascript Calendar ---
    /* --- v 1.0 3rd November 2006
    By Oliver Bryant
    [url]http://calendar.swazz.org[/url] */

    function getObj(objID)
    {
        if (
    document.getElementById) {return document.getElementById(objID);}
        else if (
    document.all) {return document.all[objID];}
        else if (
    document.layers) {return document.layers[objID];}
    }

    function 
    checkClick(e) {
        
    e?evt=e:evt=event;
        
    CSE=evt.target?evt.target:evt.srcElement;
        if (
    getObj('fc'))
            if (!
    isChild(CSE,getObj('fc')))
                
    getObj('fc').style.display='none';
    }

    function 
    isChild(s,d) {
        while(
    s) {
            if (
    s==d
                return 
    true;
            
    s=s.parentNode;
        }
        return 
    false;
    }

    function 
    Left(obj)
    {
        var 
    curleft 0;
        if (
    obj.offsetParent)
        {
            while (
    obj.offsetParent)
            {
                
    curleft += obj.offsetLeft
                obj 
    obj.offsetParent;
            }
        }
        else if (
    obj.x)
            
    curleft += obj.x;
        return 
    curleft;
    }

    function 
    Top(obj)
    {
        var 
    curtop 0;
        if (
    obj.offsetParent)
        {
            while (
    obj.offsetParent)
            {
                
    curtop += obj.offsetTop
                obj 
    obj.offsetParent;
            }
        }
        else if (
    obj.y)
            
    curtop += obj.y;
        return 
    curtop;
    }
        
    document.write('<table id="fc" style="position:absolute;border-collapse:collapse;background:#FFFFFF;border:1px solid #ABABAB;display:none" cellpadding=2>');
    document.write('<tr><td style="cursor:pointer" onclick="csubm()">[img]/images/prev.gif[/img]</td><td colspan=5 id="mns" align="center" style="font:bold 13px Tahoma"></td><td align="right" style="cursor:pointer" onclick="caddm()">[img]/images/next.gif[/img]</td></tr>');
    document.write('<tr><td align=center style="background:#ABABAB;font:12px Tahoma">Lu</td><td align=center style="background:#ABABAB;font:12px Tahoma">Ma</td><td align=center style="background:#ABABAB;font:12px Tahoma">Me</td><td align=center style="background:#ABABAB;font:12px Tahoma">Gi</td><td align=center style="background:#ABABAB;font:12px Tahoma">Ve</td><td align=center style="background:#ABABAB;font:12px Tahoma">Sa</td><td align=center style="background:#ABABAB;font:12px Tahoma">Do</td></tr>');
    for(var 
    kk=1;kk<=6;kk++) {
        
    document.write('<tr>');
        for(var 
    tt=1;tt<=7;tt++) {
            
    num=* (kk-1) - (-tt);
            
    document.write('<td id="v' num '" style="width:18px;height:18px"></td>');
        }
        
    document.write('</tr>');
    }
    document.write('</table>');

    document.all?document.attachEvent('onclick',checkClick):document.addEventListener('click',checkClick,false);


    // Calendar script
    var now = new Date;
    var 
    sccm=now.getMonth();
    var 
    sccy=now.getFullYear();
    var 
    ccm=now.getMonth();
    var 
    ccy=now.getFullYear();

    var 
    updobj;
    function 
    lcs(ielem) {
        
    updobj=ielem;
        
    getObj('fc').style.left=Left(ielem);
        
    getObj('fc').style.top=Top(ielem)+ielem.offsetHeight;
        
    getObj('fc').style.display='';
        
        
    // First check date is valid
        
    curdt=ielem.value;
        
    curdtarr=curdt.split('/');
        
    isdt=true;
        for(var 
    k=0;k<curdtarr.length;k++) {
            if (
    isNaN(curdtarr[k]))
                
    isdt=false;
        }
        if (
    isdt&(curdtarr.length==3)) {
            
    ccm=curdtarr[1]-1;
            
    ccy=curdtarr[2];
            
    prepcalendar(curdtarr[0],curdtarr[1]-1,curdtarr[2]);
        }
        
    }

    function 
    evtTgt(e)
    {
        var 
    el;
        if(
    e.target)el=e.target;
        else if(
    e.srcElement)el=e.srcElement;
        if(
    el.nodeType==3)el=el.parentNode// defeat Safari bug
        
    return el;
    }
    function 
    EvtObj(e){if(!e)e=window.event;return e;}
    function 
    cs_over(e) {
        
    evtTgt(EvtObj(e)).style.background='#FFCC66';
    }
    function 
    cs_out(e) {
        
    evtTgt(EvtObj(e)).style.background='#C4D3EA';
    }
    function 
    cs_click(e) {
        
    updobj.value=calvalarr[evtTgt(EvtObj(e)).id.substring(1,evtTgt(EvtObj(e)).id.length)];
        
    getObj('fc').style.display='none';
        
    }

    var 
    mn=new Array('Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');
    var 
    mnn=new Array('31','28','31','30','31','30','31','31','30','31','30','31');
    var 
    mnl=new Array('31','29','31','30','31','30','31','31','30','31','30','31');
    var 
    calvalarr=new Array(42);

    function 
    f_cps(obj) {
        
    obj.style.background='#C4D3EA';
        
    obj.style.font='10px Tahoma';
        
    obj.style.color='#333333';
        
    obj.style.textAlign='center';
        
    obj.style.textDecoration='none';
        
    obj.style.border='1px solid #6487AE';
        
    obj.style.cursor='pointer';
    }

    function 
    f_cpps(obj) {
        
    obj.style.background='#C4D3EA';
        
    obj.style.font='10px Tahoma';
        
    obj.style.color='#ABABAB';
        
    obj.style.textAlign='center';
        
    obj.style.textDecoration='line-through';
        
    obj.style.border='1px solid #6487AE';
        
    obj.style.cursor='default';
    }

    function 
    f_hds(obj) {
        
    obj.style.background='#FFF799';
        
    obj.style.font='bold 10px Tahoma';
        
    obj.style.color='#333333';
        
    obj.style.textAlign='center';
        
    obj.style.border='1px solid #6487AE';
        
    obj.style.cursor='pointer';
    }

    // day selected
    function prepcalendar(hd,cm,cy) {
        
    now=new Date();
        
    sd=now.getDate();
        
    td=new Date();
        
    td.setDate(1);
        
    td.setFullYear(cy);
        
    td.setMonth(cm);
        
    cd=td.getDay();
        
    cd cd == cd-1;
        
    getObj('mns').innerHTML=mn[cm]+ ' ' cy;
        
    marr=((cy%4)==0)?mnl:mnn;
        for(var 
    d=1;d<=42;d++) {
            
    f_cps(getObj('v'+parseInt(d)));
            if ((
    >= (cd -(-1))) && (d<=cd-(-marr[cm]))) {
                
    dip=((d-cd sd)&&(cm==sccm)&&(cy==sccy));
                
    htd=((hd!='')&&(d-cd==hd));
                if (
    dip)
                    
    f_cpps(getObj('v'+parseInt(d)));
                else if (
    htd)
                    
    f_hds(getObj('v'+parseInt(d)));
                else
                    
    f_cps(getObj('v'+parseInt(d)));

                
    getObj('v'+parseInt(d)).onmouseover=(dip)?null:cs_over;
                
    getObj('v'+parseInt(d)).onmouseout=(dip)?null:cs_out;
                
    getObj('v'+parseInt(d)).onclick=(dip)?null:cs_click;
                
                
    getObj('v'+parseInt(d)).innerHTML=d-cd;    
                
    calvalarr[d]=''+(d-cd)+'/'+(cm-(-1))+'/'+cy;
            }
            else {
                
    getObj('v'+d).innerHTML='';
                
    getObj('v'+parseInt(d)).onmouseover=null;
                
    getObj('v'+parseInt(d)).onmouseout=null;
                
    getObj('v'+parseInt(d)).style.cursor='default';
                }
        }
    }

    prepcalendar('',ccm,ccy);
    //getObj('fc'+cc).style.visibility='hidden';

    function caddm() {
        
    marr=((ccy%4)==0)?mnl:mnn;
        
        
    ccm+=1;
        if (
    ccm>=12) {
            
    ccm=0;
            
    ccy++;
        }
        
    cdayf();
        
    prepcalendar('',ccm,ccy);
    }

    function 
    csubm() {
        
    marr=((ccy%4)==0)?mnl:mnn;
        
        
    ccm-=1;
        if (
    ccm<0) {
            
    ccm=11;
            
    ccy--;
        }
        
    cdayf();
        
    prepcalendar('',ccm,ccy);
    }

    function 
    cdayf() {
    if ((
    ccy>sccy)|((ccy==sccy)&&(ccm>=sccm)))
        return;
    else {
        
    ccy=sccy;
        
    ccm=sccm;
        
    cfd=scfd;
        }

    e questo il codice nella pagina che lo richiama:
    Codice PHP:
    ...
    <
    SCRIPT SRC="calendar.js"></SCRIPT>
    ...
    <form name="data" method="post" action="?a=step2">
    <input name="data" type="text" id="data" onFocus="this.select();lcs(this)" onClick="event.cancelBubble=true;this.select();lcs(this)">
    <input name="Submit2" type="submit" class="tahoma12" onClick="MM_validateForm('data','','R');return document.MM_returnValue" value="Avanti &gt;&gt;">
    </form> 
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    311
    nessuno mi può aiutare?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.