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

    Assegnazione valori a variabili da form

    Ciao a tutti, ho appena iniziato a scrivere qualche programma in javascript e subito incontro questo problema. Dati dei valori a dei campi in un form, non riesco a far prendere tali valori alle variabili associate.

    Ho fatto 2 prove, la prima con immissione valori tramite variabile=prompt("...") e funzione. Se invece provo ad inserire i valori in un form, al momento di premere il bottone execute, i dati non vengono elaborati o meglio vengono elaborati ma in maniera sbagliata. Di seguito posto il codice e se qulcuno sapesse dirmi dove sbaglio, gliene sarei veramente grato.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Cabin Crew rest time</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language = "JavaScript">
    <!--
    var ftd = document.Rest.departure.value;
    var fta = document.Rest.arrival.value;
    var ndrt = document.Rest.report.value;
    var RT=0;
    var MinRest=720;
    var FDT=0;



    function calcola()
    {
    TrasformaMinuti();
    calcolaFDT();
    calcolaRT();
    controllodati();
    }

    function TrasformaMinuti()
    {
    eta =(fta * 60)+30; //trasformiamo Flight Time Arrival in minuti e aggiungiamo la mezz'ora di duty
    etd= ftd * 60; //trasformiamo Flight Time Departure in minuti
    andrt = ndrt * 60; //trasformiamo Next Day Report Time in minuti

    }

    function calcolaFDT()
    {
    if (eta > etd)
    {
    FDT = (eta - etd); //calcoliamo Flight Duty Time in minuti quando FTA maggiore FTD

    }
    else
    {
    FDT = (1440 - etd) + eta; //calcoliamo Flight Duty Time in minuti quando FTA minore FTD

    }
    }
    function calcolaRT()
    {
    if (andrt > eta)
    {
    RT = (andrt - eta);//calcoliamo il Rest Time se Next Day Report Time maggiore Flight Time Arrival

    }
    else
    {
    RT = (1440 - eta) + andrt; //calcoliamo il Rest Time in minuti se Next Day Report Time minore Flight Time Arrival

    }
    }

    function controllodati()
    {
    if (MinRest > FDT)
    {
    risultato();
    }
    else
    {
    risultato1();
    }
    }

    function risultato()
    {
    if (RT >= MinRest)
    {
    alert('You are not out of hours');
    }
    else
    {
    alert('You are OUT of HOURS, please call CREW CONTROL');
    }
    }
    function risultato1()
    {
    if (RT > FDT)
    {
    alert('You are not out of hours');
    }
    else
    {
    alert('You are OUT of HOURS, please call CREW CONTROL');
    }
    }
    //-->

    </script>

    <body>

    <h1>CABIN CREW REST TIME</H1>
    <H2>Calculate your rest time and see if you are out of hours</h2>

    <FORM id="RestTime" name="Rest">


    <input type="text" size="4" name="departure" >Please, type in your Flight Time Depature (ex. 7.30 - 18.43)</p>


    <input type="text" size="4" name="arrival" >Please, type in your Flight Time Arrival (ex. 7.30 - 18.43) </p>


    <input type="text" size="4" name="report" >Please, type in your Next Day Report Time (ex. 7.30 - 18.43)</p>


    <input type="button" name="Calcoli" value="Execute" onClick="calcola()"> </p>


    </form>
    </body>
    </html>

    Grazie a tutti per l'aiuto

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ciao e benvenuta/o, prova a "forzare" i valori degli input form numerici con parseFloat/parseInt, se non risolvi metti il link alla pagina pubblica.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ciao, grazie per il consiglio e ho provato in questo modo:
    function TrasformaMinuti()
    {
    eta =parseFloat((fta * 60)+30); //trasformiamo Flight Time Arrival in minuti e aggiungiamo la mezz'ora di duty

    etd=parseFloat( ftd * 60); //trasformiamo Flight Time Departure in minuti
    andrt = parseFloat(ndrt * 60); //trasformiamo Next Day Report Time in minuti.

    Nel caso in cui la mia syntax fosse corretta, non funziona. Dove trovo il link alla pagina pubblica?

    Grazie ancora!

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Immaginavo tu avessi maggiore conoscenza di javascript, vedi se puoi risolvere documentandoti qui.
    In riferimento alla frase se non risolvi metti il link alla pagina pubblica. vuol dire pubblica la pagina in questione su un tuo spazio web (tuosito.xxxx/paginademo.xxxx) una volta online inserisci qui il link da testare/visionare
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.