[javascript]: function contagiorni firefox

function calcola_giorni()
{
    var d1 = isdate(document.getElementById("dal").value);
    var d2 = isdate(document.getElementById("al").value);
    if(d1.isdate && d2.isdate)
    {
        var differenza = d2.data.getTime() - d1.data.getTime();
        var giorni = Math.floor(differenza /(1000*60*60*24));
        document.getElementById("differenza").value = giorni;
    }
    else   
    {
        document.getElementById("differenza").value = "";
        alert("date non valide");
    }
}

Ho 3 campi text "dal" - "al" - "differenza"

Nel campo text chiamato differenza mi dovrebbe

visualizzare il risultato tra le due date

Perchè con explorer funziona mentre con firefox non va?

 :bye:

inviato 9 anni fa
leoneweb
X 0 X

controlla la console javascript, ti da qualche errore?

risposto 9 anni fa
Xscratch
X 0 X

mi due avvisi

il primo:

L'utilizzo di routeEvent() è deprecato,consultare il bug 330494

il secondo :

L'utilizzo di captureEvent() è deprecato,consultare il bug 330494

risposto 9 anni fa
leoneweb
X 0 X

Ho dimenticato di mettere una parte di javascript

questo è completo..... scusate

<script language="javascript" type="text/javascript">

function isdate(dateStr) {
   
   var ret = new Object();
   ret.isdate = false;
   ret.error = "";
   ret.year = 0;
   ret.month = 0;
   ret.day = 0;
   ret.data = null;   

    var datePat = /^\s*(\d{1,2})(\/|-|\.)(\d{1,2})(\2)(\d{2}|\d{4})\s*$/    

    var matchArray = dateStr.match(datePat); 

    if (matchArray == null) {
        ret.error = "Per favore, introduci la data nei formati gg/mm/aaaa o gg-mm-aaaa o gg.mm.aaaa";
        return ret;
    }

    day = matchArray[1];
    month = matchArray[3]; 
    year = matchArray[5];
    if(year.length == 2)
      if(parseInt(year,10) < 30)
         year = parseInt(year,10) + 2000;
      else
         year = parseInt(year,10) + 1900;

    if (month < 1 || month > 12) { 
        ret.error = "Il mese deve essere compreso tra 1 e 12.";
        return ret;
    }

    if (day < 1 || day > 31) {
        ret.error = "Il giorno deve essere compreso tra 1 e 31";
        return ret;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
       
        ret.error = "Il mese " + month + " non ha 31 giorni!";
        return ret;
    }

    if (month == 2) {
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) {
         ret.error = "Febbraio " + year + " non ha " + day + " giorni!";
         return ret;
        }
    }
    isDateError = "";
  
   ret.isdate = true;
   ret.error = "";
   ret.year = year;
   ret.month = month;
   ret.day = day;
   ret.data = new Date(year, (month - 1), day);
    
    return ret;
}

function calcola_giorni()
{
    var d1 = isdate(document.getElementById("dal").value);
    var d2 = isdate(document.getElementById("al").value);
    if(d1.isdate && d2.isdate)
    {
        var differenza = d2.data.getTime() - d1.data.getTime();
        var giorni = Math.floor(differenza /(1000*60*60*24));
        document.getElementById("differenza").value = giorni;
    }
    else   
    {
        document.getElementById("differenza").value = "";
        alert("date non valide");
    }
}
</script>
risposto 9 anni fa
leoneweb
X 0 X

nessuno sa dirmi come fare? 

:buck:

risposto 9 anni fa
leoneweb
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda