SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Enthusiast
    Join Date
    Sep 2006
    Posts
    62
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Function not found

    I have this code:
    <script language='JavaScript' type='text/javascript'>
    var lastMessage = 0;
    var mTimer;
    var mesi=new Array('Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');
    var mese="02";
    var anno="2007";
    var dataSel="10e02e2007";
    var giorni=1;
    temp=dataSel.split('e');
    var id=0;
    data_selezionata=new Date(temp[2],temp[1]-1,temp[0]);
    data_selezionata_finale=new Date(temp[2],temp[1]-1,temp[0]);
    data_selezionata_finale.setDate(data_selezionata_finale.getDate()+giorni);
    function getCalendarText(mese,anno,dataSel) {
    document.getElementById('mese_evento').innerHTML=mesi[mese-1]+' '+anno;
    mese_corrente=new Date(anno,mese-1,1);
    mese_corrente.setMonth(mese_corrente.getMonth()+1);
    mese_corrente.setDate(0);
    mese_giorni_tot=mese_corrente.getDate();
    mese_corrente.setDate(1);
    mese_giorno_inizio=mese_corrente.getDay();
    giorno_att=1;
    for (i = 1; i <= 42;i++) {
    colore='#FFFFFF';
    stringa="<div ";
    if(i>mese_giorno_inizio&&giorno_att<=mese_giorni_tot){
    stringa+="onclick='id=0;finoAl(dataSel)' ";
    stampa=giorno_att;
    giorno_att++;
    if(mese_corrente<new Date())colore='#CCCCCC';
    if(mese_corrente>data_selezionata&&mese_corrente<data_selezionata_finale&&!id)colore='#99FF99';
    if(mese_corrente>=data_selezionata&&mese_corrente<=data_selezionata&&!id)colore='#55FF55';
    mese_corrente.setDate(giorno_att);
    }
    else stampa='&nbsp;';
    stringa+="style='width:20px;height:15px;margin: 0 auto;padding:0px;margin:0px;font-size:11px;border:0px;background-color:#"+colore+";"
    if(stampa!='&nbsp;')stringa+="cursorointer;cursor:hand;"
    stringa+="'>"+stampa+"</div>";
    document.getElementById('casella_'+i).innerHTML=stringa;
    document.getElementById('casella_'+i).bgColor=colore;

    }
    }
    ....
    </script>

    and this code in the same page:

    <script>
    function finoAl(data){
    var finoAl_div = document.getElementById('finoAl');
    finoAl="FINO AL: <select name='durata_gg'><option value='0'></option>";
    temp=data.split('e');
    dataFinoAl=new Date(temp[2],temp[1]-1,temp[0]);
    for(n=1;n<64;n++){
    dataFinoAl.setDate(dataFinoAl.getDate()+1);
    finoAl+="<option value='"+(n-1)+"'>"+dataFinoAl.getDate()+"-"+(dataFinoAl.getMonth()+1)+"-"+dataFinoAl.getFullYear()+"</option>"; }
    finoAl_div.innerHTML=finoAl;
    }
    </script>

    If the event onclick described in the first function active, The javascript console tell me that finoAl is not a function
    Why??
    How i can do?
    Thanks

  2. #2
    SitePoint Guru
    Join Date
    Sep 2006
    Posts
    731
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Code should be posted within tags.
    Code:
    function finoAl(data){
                 var finoAl_div = document.getElementById('finoAl');
    	finoAl="FINO AL: <select name='durata_gg'><option value='0'></
    the function finoAl is creating a global variable of the same name, which destroys the reference to the function. Always use the var keyword to declare variables.
    Tab-indentation is a crime against humanity.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •