Visualizzazione dei risultati da 1 a 5 su 5

Discussione: formattazione tempi

  1. #1

    formattazione tempi

    ciao a tutti.... ho una bell adomanda.... ho realizzato un sito, nel qule devo inserire dei risultati di alcune gare tramite un form.
    il risultato viene inserito in un campo ti testo, nel segunte formato
    h : mm ' ss " dc
    dove h sta per ore, mm per minuti, ss per secondi e dc per decimi e centesimi.

    Devo creare uno script che in primis mio controlli via via che inserisco i valori che siano interi, e che raggiunta la fine del valore inserisca l'apice o i due punti.
    Ad esempio io inserisco 21 (LE ORE) e lui mi inseirà i 2 punti... poi passo hai minuti, e lui inserirà l'apic.... e così via... è fattibile?? grazie a chimi aiuterà!
    Ogni tecnologia sufficientemente avanzata è indistinguibile dalla magia.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E` fattibile, ma la tua descrizione e` sottodeterminata.

    Cosa succede se uno vuole inserire 1 h 5' 3" 21 ?

    Come fa il programma a sapere che dopo l'1 ci vanno i duepunti? E che non sono invece 15 ore?

    E i minuti possono essere inseriti come ho scritto io (cioe` senza lo zero davanti)? (lo stesso vale per i secondi)

    Se un problema e` completamente descritto dal punto di vista matematico, e` realizzabile con un programma opportuno. In caso contrario e` ben difficile.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    be ma se io dico all'utente che deve inserire i valori con lo zero davanti ecco fatto!!...
    Ogni tecnologia sufficientemente avanzata è indistinguibile dalla magia.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    <input type="text" onkeyup="formatta(this);">

    Nella head ci dovra` essere una funzione di questo tipo.
    Te la imposto, ma serve un po' di tempo e di prove per farla funzionare, cosa che al momento non ho.
    Se hai ancora problemi puo` venirti in aiuto qualcun altro oppure ci possiamo sentire lunedi`.
    codice:
    function formatta(cc) {
      var v = cc.value;
      var re = new RegExp( /^\d{1,3}(\:(\d{1,2}(\'(\d{1,2}(\"(\d{1,2})?)?)?)?)?)?$/ );
      if(!re.test(v)) {          // controllo dati inseriti
        v = v.substr(0,v.length-1);
        alert("impostazione errata");
        cc.focus();
        return false;
      }
      if(v.match(/\d{2}/) cc.value = v+':';
      else if(v.match(/\d{1,3}\:\d{2}/) cc.value = v+"'";
      else if(v.match(/\d{1,3}\:\d{1,2}\'\d{2}/) cc.value = v+'"';
      return true;
    }
    Attenzione che c'e` largo uso delle RE che sono molto delicate: da un lato avrei potuto fare errori, dall'altro devi fare attenzione a copiare esatto (fai un quote del messaggio prima del copia-incolla).

    Se e` corretta, dovrebbe anche essere piu` intelligente delle richieste, ma io non riesco a provarla.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    ok! grazie mille... anzi.. due mila!... vediamo un po se ci capisco... non sono molto pratico di javascrip!... ciaooo
    Ogni tecnologia sufficientemente avanzata è indistinguibile dalla magia.

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.