Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    orologio in javascript [specifiche XHTML]

    Nel titolo dovrei aver messo già tutto il corpo di questo dubbio.
    Io avevo intenzione di inserire all'interno del sito un semplicissimo orologio in javascript. Solitamente facevo in questo modo:

    codice:
    <html>
    <head>
    <script language="JavaScript" type="text/javascript">
    function orologio () {
    	var hours=now.getHours();
    	var minutes=now.getMinutes();
    	if (hours==0) {
    		hours="0"+hours;
    	}
    	if (minutes<=9) {
    		minutes="0"+minutes;
    	}
    esito = hours + ":" + minutes;
    	document.alfa.beta.value = esito;
    	setTimeout("orologio()",1000); 
    }
    </script>
    </head>
    <body onload="orologio()">
    <form name="alfa">
    <input class="beta" type="text" name="beta" size="45>
    </form>
    </body>
    </html>
    Il punto è questo. Validando in XHTML transitional adesso mi crea problemi sia al body non supportando l'evento onload, sia al form richiedendo un action. Suggerimenti per fare le cose per bene?

  2. #2
    L'evento onload non è ancora deprecato, quindi il validatore non dovrebbe dare errore, per quanto riguarda il form puoi mettere action="" anche se non sarebbe molto corretto.
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  3. #3
    Invece il validatore mi da errore per l'evento onload.
    E per l'action="" ci avevo pensato anche io ma mi sembra un po' una forzatura. In effetti si sta snaturando un qualcosa. Altri aiutini? ^__^

  4. #4
    Utente di HTML.it L'avatar di nuky
    Registrato dal
    Oct 2001
    Messaggi
    1,053
    Io darei anche un'occhiatina al funzionamento dell'orologio
    Che è now?
    Alla form devi accedere tramite id, non tramite name.
    La funzione ricorsiva è inutile e sbagliata concettualmente.
    codice:
    <html>
      <head>
        <script language="JavaScript" type="text/javascript">
          function orologio () {
            var hours   = new Date().getHours();
            var minutes = new Date().getMinutes();
            var seconds = new Date().getSeconds();
            if (hours <= 9)
              hours = "0" + hours;
            if (minutes <= 9)
              minutes = "0" + minutes;
            if (seconds <= 9)
              seconds = "0" + seconds;
            var esito = hours + ":" + minutes + ":" + seconds;
    
            document.getElementById("alfa").beta.value = esito;
          }
        </script>
      </head>
    
      <body onload="setInterval('orologio()',1000);">
        <form id="alfa">
          <input class="beta" type="text" name="beta" size="45" />
        </form>
      </body>
    </html>
    Inoltre io non metterei il risultato in un input, questo ti toglierebbe il problema dell'action.
    - "E' un messaggio. E' di Svarion, della terra di Merdor!"
    - "Busto Arsizio?"
    - "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
    - "Ca**o dici? C'è scritto «frocio chi legge»!"

  5. #5
    Mi pare che già dalle primissime versioni di XHTML, l'evento onload sia deprecato.

    Ora, se l'orologio ti serve davvero magari possiamo provare a discuterne e a ragionarci sopra, tuttavia mi sa che certe cose, nei documenti web, lasciano il tempo che trovano. Insomma, un utente che vuole sapere che ore sono di certo ha altri strumenti.

    Il mitico Dan Cederholm dice:
    Keep it simple. The web is a vast and ever-changing place. Simplify your message and goal. Make it readable, useable and attractive.

  6. #6
    Grazie dei suggerimenti.
    io con il JS ci sto un po' litigato. Credo di avere un'idiosincrasia.
    e nel copiare il codice avevo dimenticato questa riga -.-''

    codice:
    var now=new Date();
    Passando oltre.. non ho ben capito dove potrei mettere il risultato se non in un input. Io ho provato un po' ma non riesco a farlo visualizzare.

  7. #7

    Purtroppo si

    X Pierofix:

    Effetivamente mi serve.
    Il sito è è più che altro un gioco con un orario un po' sfalsato rispetto a quello reale. E l'orologio mi serve appunto per rendere immediatamente chiaro all'utente l'ora effettiva dell'ambientazione in cui gioca. ^^
    Ho sorvolato dal postare rige di codice per l'orologio che non erano strettamente necessarie solo per non agiungere cose inutili.

  8. #8
    A me XHTML 1.0 Transitional con l'evento onload mi viene validato tranquillamente
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  9. #9
    Si potrebbe usare un linguaggio lato server per inserire l'ora nel documento: PHP, ad esempio. Non scomoderesti javascript e la pagina acquisirebbe un punto in più nei confronti dell'accessibilità (un utente che ha js disattivato non vedrebbe l'orologio).

  10. #10
    Originariamente inviato da Federix
    A me XHTML 1.0 Transitional con l'evento onload mi viene validato tranquillamente
    Hai ragione. Dovrebbe essere dalla versione 1.1:

    - http://www.w3.org/TR/xhtml-modulariz...nts_collection

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 © 2026 vBulletin Solutions, Inc. All rights reserved.