Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Sommare ore

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207

    Sommare ore

    Buonasera, ho un form dove inserisco le presenze giornaliere, vorrei fare in modo che quando inserisco l'ora di ingresso nel campo ora1, ne campo ora2, mi sommasse l'ora 1 più 6 ore.
    ovvero se nel campo ora1 inserisco 08:00, nel campo ora2, mi inserisse direttamente 14:00, è possibile?
    e se spunto il flag di mensa mi aggiunga invece di 6 ore 6 ore e 30 minuti (però questo non è importantissimo)
    Grazie

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    <form name="tuoForm">
    
    Inizio: <input type="text" name="ora1"> Fine: <input type="text" name="ora2">
    <input type="checkbox" name="mensa"> Mensa</p></form>
    <script type="text/javascript">
    document.tuoForm.ora1.onchange = document.tuoForm.mensa.onchange = function () {
      document.tuoForm.ora2.value = (((parseInt(document.tuoForm.ora1.value) + 6) % 24).toString() + document.tuoForm.ora1.value.replace(/^[^\:]*/, "")).replace(/(?:\:\d+)?$/, document.tuoForm.mensa.checked ? ":30" : ":00");
    };
    </script>
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207
    grazie per l'aiuto, lo adattato e funziona, ho notato però che se inserisco l'orario di ingresso (ora1) esempio alle 08:45 mi da come orario uscita (ora2) mi da 14:00 quindi non 6 ore dovrebbe invece restituirmi 14:45 come uscita. è adattabile lo script che mi hai gentilmente dato?
    Grazie ancora per l'aiuto

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207
    Nessun Aiuto?
    Grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207
    Qualcuno può aiutarmi?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207
    Per favore mi autae a rslvere qusto problea? purtropo di javscript non ne capisco nulla Graze

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Per non stravolgere tutto sfrutto quanto gia' fatto da Carlo:
    codice:
    <form name="tuoForm">
    
    Inizio: 
    <input type="text" name="ora1"> Fine: <input type="text" name="ora2">
    <input type="checkbox" name="mensa"> Mensa</p></form>
    <script type="text/javascript">
    document.tuoForm.ora1.onchange = document.tuoForm.mensa.onchange = function () {
      o1 = document.tuoForm.ora1.value.split(":"); // separo ore e minuti
      m1 = parseInt(o1[0],10)*60 + parseInt(o1[1],10); // trasformo tutto in minuti
      m2 = m1 + (60 * 6) + ((document.tuoForm.mensa.checked) ? 30 : 0); // sommo le 6 ore e gli eventuali 30 minuti
      document.tuoForm.ora2.value = (parseInt(m2 / 60) % 24).toString()+":"+(m2 % 60).toString(); // ritrasformo in notazione hh24:mi e visualizzo
    };
    </script>
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207
    Grazie br1, così funziona benissimo, è quello che volevo.
    da cosa può dipendere il fatto che se inserisco l'orario intero es. 12:00 mi restituisce 18:0 e non 18:00?
    grazie ancora.

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Stai lavorando su rappresentazioni arbitrarie di numeri interi... non trattate automaticamente dal javascript proprio perche' arbitrarie.

    Prendilo come esercizio far apparire uno "0" davanti al numero se < 10 ... e ti ho gia' detto tutto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207
    grazie br1, il prolema è non conosco javascript..... quindi non ho idea su come fare.
    puoi darmi questo ultimo aiuto? grazie

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.