Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Script che funziona solo con IEx.

    Ciao a tutti,

    mi è capitato una cosa bizzarra.
    Normalmente Javascript dà problemi con Internet Explorer (IEx), ma funziona bene con gli altri browser, ma questo script funziona bene con IEx e non ne viole sapere di funzionare con FF o Chrome.
    Via allego lo script. In pratica mi perde il valore delle variabili Submit, Partenza, Arrivo e Tariffa dopo la riga 454 (diventano undefined), ma IEx le mantiene e non riesco a capire il perché. Le funzioni richiamate sono state omesse per causa del limite del forum.


    Grazie per le risposte.

    Nwalme

    Script:
    <script type="text/javascript">
    var SelectPartTemp;
    var SelectArrTemp;
    function Orario (SelectPartTemp,SelectArrTemp) {
    /*Inizializzazione variabili*/
    setTimeout(OrarioStart,3000);
    var Partenza;
    var PartenzaTemp = new Date();
    var Arrivo;
    var Oggi = new Date();
    var ArrivoTemp = new Date();
    var Sedi = new Array();
    /* omissis array set */
    var DayList = new Array ();
    /* omissis array set */ Array(new Array ("08:30","08:30","08:30","08:30","08:30","08:30"," Chiuso") , new Array /* omissis array set */ );
    var AllOrMattChius = new Array(new Array ("12:30","12:30","12:30","12:30","12:30","12:30"," Chiuso") , new Array /* omissis array set */ );
    var AllOrPomAp = new Array(new Array ("14:30","14:30","14:30","14:30","14:30","Chiuso", "Chiuso") , new Array ("Continuato","Continuato","Continuato","Continuat o","Continuato","Continuato","Continuato") /* omissis array set */);
    var AllOrPomChius = new Array(new Array /* omissis array set */ );
    var OrarioPartSelect;
    var OrarioPartOption;
    var OrarioIndexPart;
    var OrarioArrSelect;
    var OrarioArrOption;
    var OrarioIndexArr;
    var SelectOrarioArr = new Array();
    var OrarioSelectArr;
    var OrarioPartSelect;
    var OrarioArrSelect;
    var OrarioSelectPart;
    var Submit;
    var GiorniNol;
    var Weekend = false;
    var Tariffa = "";
    /*Selezione Sedi*/
    Partenza = document.form6.Date1.value;
    Arrivo = document.form6.Date2.value;
    PartenzaDay = Partenza.substring(0,3);
    PartenzaDay = changeDay(PartenzaDay);
    PartenzaRest = Partenza.substring(3,Partenza.length);
    Partenza = PartenzaDay + PartenzaRest;
    PartenzaTemp.setFullYear(Partenza.substring(10,14) ,Partenza.substring(7,9)-1,Partenza.substring(4,6));
    ArrivoDay = Arrivo.substring(0,3);
    ArrivoDay = changeDay(ArrivoDay);
    ArrivoRest = Arrivo.substring(3,Arrivo.length);
    Arrivo = ArrivoDay + ArrivoRest;
    ArrivoTemp.setFullYear(Arrivo.substring(10,14),Arr ivo.substring(7,9)-1,Arrivo.substring(4,6));
    document.getElementById('DataPartenza').value = Partenza;
    document.getElementById('DataArrivo').value = Arrivo;
    var checkBook = true;
    if (PartenzaTemp <= Oggi) {
    Partenza = "Attenzione, Il noleggio deve partire almeno da domani.";
    checkBook = false;
    }
    if (Partenza == "") {
    Partenza = "Attenzione, Clicca sull'immagine e scegli un giorno.";
    checkBook = false;
    }
    if (ArrivoTemp < PartenzaTemp) {
    Arrivo = "Attenzione, La riconsegna deve avvenire dopo la partenza.";
    checkBook = false;
    }
    if (Arrivo == "" || PartenzaTemp <= Oggi) {
    Arrivo = "Attenzione, Clicca sull'immagine e scegli un giorno.";
    checkBook = false;
    }
    /* if (Arrivo != "" || PartenzaTemp > Oggi || ArrivoTemp >= PartenzaTemp || PartenzaTemp > Oggi)
    checkBook = true;*/
    /*Selezione Orari*/
    /*Partenza*/
    document.form6.OrarioPartSelect.options.length = 0;
    OrarioSelectPart="";
    DayIndexPart = parseInt(DayList[PartenzaDay]);
    OrarioIndexPart = parseInt(Sedi[document.form6.SedePart.value]-1);
    SelectOrarioPartSMatH = AllOrMattAp[OrarioIndexPart][DayIndexPart].substring(0,2);
    SelectOrarioPartSMatM = AllOrMattAp[OrarioIndexPart][DayIndexPart].substring(3,5);
    if (AllOrMattChius[OrarioIndexPart][DayIndexPart]=="Continuato") {
    SelectOrarioPartEMatH = "12";
    SelectOrarioPartEMatM = "00";
    } else {
    SelectOrarioPartEMatH = AllOrMattChius[OrarioIndexPart][DayIndexPart].substring(0,2);
    SelectOrarioPartEMatM = AllOrMattChius[OrarioIndexPart][DayIndexPart].substring(3,5);
    }
    i=0;
    k=0;
    OrarioSelectH=0;
    OrarioSelectM=0;
    OrarioPartStopPom=false;
    OrarioPartStopMat=false;
    if (AllOrMattAp[OrarioIndexPart][DayIndexPart] != "Chiuso") {
    if (SelectOrarioPartSMatH.substring(0,1)=="0")
    SelectOrarioPartSMatH=SelectOrarioPartSMatH.substr ing(1,2);
    if (SelectOrarioPartSMatH.substring(0,1)!="0")
    OrarioSelectH=parseInt(SelectOrarioPartSMatH);
    OrarioSelectM=parseInt(SelectOrarioPartSMatM);
    do {
    if (OrarioSelectH>parseInt(SelectOrarioPartSMatH))
    OrarioSelectM=0;
    if (OrarioSelectH==SelectOrarioPartEMatH) {
    RatioOrario=SelectOrarioPartEMatM;
    } else {
    RatioOrario=50;
    }
    do {
    if (OrarioSelectM==0) {
    OrarioSelectMTemp="00";
    } else {
    OrarioSelectMTemp=OrarioSelectM;
    }
    TempRif=OrarioSelectH + ":" + OrarioSelectMTemp;
    if (SelectPartTemp==TempRif) {
    Default=true;
    } else {
    Default=false;
    }
    OrarioSpot = OrarioSelectH + ":" + OrarioSelectMTemp;
    document.form6.OrarioPartSelect.options[i]=new Option(OrarioSpot,OrarioSpot,false,Default);
    k++;
    i++;
    OrarioSelectM=OrarioSelectM+10;

    } while (OrarioSelectM<=RatioOrario)

    OrarioSelectH++;
    } while (OrarioSelectH<=SelectOrarioPartEMatH)
    } else {
    OrarioPartStopMat = true;
    }
    SelectOrarioPartEPomH = AllOrPomChius[OrarioIndexPart][DayIndexPart].substring(0,2);
    SelectOrarioPartEPomM = AllOrPomChius[OrarioIndexPart][DayIndexPart].substring(3,5);
    if (AllOrPomAp[OrarioIndexPart][DayIndexPart]=="Continuato") {
    SelectOrarioPartSPomH = "12";
    SelectOrarioPartSPomM = "10";
    } else {
    SelectOrarioPartSPomH = AllOrPomAp[OrarioIndexPart][DayIndexPart].substring(0,2);
    SelectOrarioPartSPomM = AllOrPomAp[OrarioIndexPart][DayIndexPart].substring(3,5);
    }
    OrarioSelectH=0;
    OrarioSelectM=0;
    if (AllOrPomAp[OrarioIndexPart][DayIndexPart] != "Chiuso") {
    if (SelectOrarioPartSPomH.substring(0,1)=="0")
    SelectOrarioPartSPomH=SelectOrarioPartSPomH.substr ing(1,2);
    if (SelectOrarioPartSPomH.substring(0,1)!="0")
    OrarioSelectH=parseInt(SelectOrarioPartSPomH);
    OrarioSelectM=parseInt(SelectOrarioPartSPomM);
    do {
    if (OrarioSelectH>parseInt(SelectOrarioPartSPomH))
    OrarioSelectM=0;
    if (OrarioSelectH==SelectOrarioPartEPomH) {
    RatioOrario=SelectOrarioPartEPomM;
    } else {
    RatioOrario=50;
    }
    do {
    if (OrarioSelectM==0) {
    OrarioSelectMTemp="00";
    } else {
    OrarioSelectMTemp=OrarioSelectM;
    }
    TempRif=OrarioSelectH + ":" + OrarioSelectMTemp;
    if (SelectPartTemp == TempRif) {
    Default=true;
    } else {
    Default=false;
    }
    OrarioSpot = OrarioSelectH + ":" + OrarioSelectMTemp;
    document.form6.OrarioPartSelect.options[i]=new Option(OrarioSpot,OrarioSpot,false,Default);
    k++;
    i++;
    OrarioSelectM=OrarioSelectM+10;

    } while (OrarioSelectM<=RatioOrario)

    OrarioSelectH++;
    } while (OrarioSelectH<=SelectOrarioPartEPomH)
    } else {
    OrarioPartStopPom = true;
    }
    OrarioPartSelect = OrarioSelectPart ;
    /*Arrivo*/
    document.form6.OrarioArrSelect.options.length = 0;
    OrarioIndexArr = parseInt(Sedi[document.form6.SedeArr.value]-1);
    DayIndexArr = parseInt(DayList[ArrivoDay]);
    if (!isNaN(DayIndexArr)) {
    SelectOrarioPartSMatH = AllOrMattAp[OrarioIndexArr][DayIndexArr].substring(0,2);
    SelectOrarioPartSMatM = AllOrMattAp[OrarioIndexArr][DayIndexArr].substring(3,5);
    if (AllOrMattChius[OrarioIndexArr][DayIndexArr]=="Continuato") {
    SelectOrarioPartEMatH = "12";
    SelectOrarioPartEMatM = "00";
    } else {
    SelectOrarioPartEMatH = AllOrMattChius[OrarioIndexArr][DayIndexArr].substring(0,2);
    SelectOrarioPartEMatM = AllOrMattChius[OrarioIndexArr][DayIndexArr].substring(3,5);
    }
    i=0;
    k=0;
    OrarioSelectH=0;
    OrarioSelectM=0;
    if (AllOrMattAp[OrarioIndexArr][DayIndexArr] != "Chiuso") {
    if (SelectOrarioPartSMatH.substring(0,1)=="0")
    SelectOrarioPartSMatH=SelectOrarioPartSMatH.substr ing(1,2);
    if (SelectOrarioPartSMatH.substring(0,1)!="0")
    OrarioSelectH=parseInt(SelectOrarioPartSMatH);
    OrarioSelectM=parseInt(SelectOrarioPartSMatM);
    do {
    if (OrarioSelectH>parseInt(SelectOrarioPartSMatH))
    OrarioSelectM=0;
    if (OrarioSelectH==SelectOrarioPartEMatH) {
    RatioOrario=SelectOrarioPartEMatM;
    } else {
    RatioOrario=50;
    }
    do {
    if (OrarioSelectM==0) {
    OrarioSelectMTemp="00";
    } else {
    OrarioSelectMTemp=OrarioSelectM;
    }
    TempRif=OrarioSelectH + ":" + OrarioSelectMTemp;
    if (SelectArrTemp==TempRif) {
    Default=true;
    } else {
    Default=false;
    }
    OrarioSpot = OrarioSelectH + ":" + OrarioSelectMTemp;
    document.form6.OrarioArrSelect.options[i]=new Option(OrarioSpot,OrarioSpot,false,Default);
    k++;
    i++;
    OrarioSelectM=OrarioSelectM+10;

    } while (OrarioSelectM<=RatioOrario)

    OrarioSelectH++;
    } while (OrarioSelectH<=SelectOrarioPartEMatH)
    } else {
    OrarioPartStopMat = true;
    /* omissis come il pomeriggio del ciclo precedente, stesse variabili */
    OrarioArrSelect = OrarioSelectArr ;
    /*Calcolo Prezzo - ricorda di confrontare l'orario di partenza con quello di fine*/
    if ((OrarioPartStopPom == true && OrarioPartStopMat == true) || checkBook == false) {
    document.getElementById('Controllo').innerHTML = "Gli orari sono incompatibili, cambiare giorno e/o orario." ;
    } else {
    GiorniNol = parseInt((ArrivoTemp - PartenzaTemp)/86400000);
    if (GiorniNol == 0)
    GiorniNol = 1;
    if (PartenzaDay == "ven" && GiorniNol == 3 && ArrivoDay == "lun") {
    Tariffa = "Weekend 3g";
    } else if (PartenzaDay == "sab" && GiorniNol == 2 && ArrivoDay == "lun") {
    Tariffa = "Weekend 2g";
    } else if (PartenzaDay == "ven" && GiorniNol == 2 && ArrivoDay == "dom") {
    Tariffa = "Weekend 2g";
    } else if (PartenzaDay == "sab" && GiorniNol == 1 && ArrivoDay == "dom") {
    Tariffa = "Weekend 2g";
    }
    /*Confronto Orario*/

    if (typeof document.form6.OrarioPartSelect.value != "undefined" || typeof document.form6.OrarioArrSelect.value != "undefined") {
    TimePart = document.form6.OrarioPartSelect.value;
    TimeArr = document.form6.OrarioArrSelect.value;
    }
    if (TimePart.length == 5) {
    OraPart = parseInt(TimePart.substring(0,2));
    MinPart = parseInt(TimePart.substring(3,5));
    } else {
    OraPart = parseInt(TimePart.substring(0,1));
    MinPart = parseInt(TimePart.substring(2,4));
    }
    if (TimeArr.length == 5) {
    OraArr = parseInt(TimeArr.substring(0,2));
    MinArr = parseInt(TimeArr.substring(3,5));
    } else {
    OraArr = parseInt(TimeArr.substring(0,1));
    MinArr = parseInt(TimeArr.substring(2,4));
    }
    if ( (OraArr > (OraPart + 1)) || (MinPart != "50" && OraArr == (OraPart + 1) && MinArr > MinPart ) ) {
    GiorniNol = GiorniNol + 1;
    }
    if (Tariffa.substring(0,7) != "Weekend" && GiorniNol == 1) {
    Tariffa = GiorniNol + " Giorno";
    } else if (Tariffa.substring(0,7) != "Weekend" && GiorniNol != 1) {
    Tariffa = GiorniNol + " Giorni";
    }
    if (GiorniNol > 30) {
    Tariffa = "Per periodi superiori al mese telefonare in sede.";
    }
    if ( Partenza == Arrivo && OraArr <= OraPart ) {
    checkBook = false;
    document.getElementById('Allarme').innerHTML = "L'arrivo deve essere dopo la partenza.";
    } else {
    document.getElementById('Allarme').innerHTML = "";
    }
    if (checkBook == true) {
    Submit = "<input type = \"button\" name=\"GiornoOra\" onClick=\"document.form6.submit();\" value = \"Continua\"></input>";
    } else {
    Submit = "";
    }
    document.getElementById('DataPart').innerHTML = "Partenza: " + Partenza;
    document.getElementById('DataArr').innerHTML = "Arrivo: " + Arrivo ;
    document.getElementById('Controllo').innerHTML = Tariffa.toString();
    document.getElementById('submit').innerHTML = Submit;
    }
    </script>

  2. #2
    Sto inizializzando tutte le variabili, ma mi chiedo, non è un problema di cache destinata a javascript?

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.