Ciao a tutti, mi si è presentato un problema.
Ho una funzione javascript per il calcolo del numero di giorni per alcuni controlli. Il problema è quando vado a selezionare come data di partenza il 31/12/2010 e come data di fine il 08/01/2011 mi stampa l'alert che la data di fine deve essere successiva alla data di partenza...questo perchè la differenza è 0. Da vari alert di controllo ho notato che quando istanzio la data di fine nn si istanzia come dovrebbe al 08/01/2011 ma si istanzia ancora al 31/12/2010. Ecco il codice:
Onestamente non capisco il perchè visto che i valori vengono presi correttamente...grazie a tutti!codice:function calcolaDays(){ var inceptionArray = $('#inception').val().split("/"); var inception = new Date(); inception.setFullYear(parseInt(inceptionArray[2])); inception.setMonth(parseInt(inceptionArray[1]) -1); inception.setDate(parseInt(inceptionArray[0])); alert(inception); var expirationArray = $('#expiration').val().split("/"); var expiration = new Date(); expiration.setFullYear(parseInt(expirationArray[2])); expiration.setMonth(parseInt(expirationArray[1]) -1); expiration.setDate(parseInt(expirationArray[0])); alert(expiration); var days = (expiration - inception)/86400000; alert(days); if(days <= 0){ alert("Attenzione: la data di scadenza deve essere successiva a quella di decorrenza"); document.polizza1.preventivo.disabled = true; } else if(days > 90){ alert("Attenzione: il periodo assicurabile è di 90 giorni massimo"); document.polizza1.preventivo.disabled = true; } else{ alert(days); document.polizza1.preventivo.disabled = false; } }

Rispondi quotando
ciao
