Visualizzazione dei risultati da 1 a 4 su 4

Discussione: validare

  1. #1
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    863

    validare

    Devo validare un imput text che non deve contenere, dopo la virgola, un numero maggiore di 59.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Alcune annotazioni...
    codice:
    <script>
    
    stringa = "1234,597";
    
    destra = parseInt(stringa.split(",")[1],10)
    if (destra>59) alert("troppo 1")
    
    // Ma ovviamente stai parlando di decimali... e se le cifre sono piu' di due sballa tutto.
    
    // Puoi seguire due strade: confrontare l'intero con il numero a cui avrai aggiunto .41
    
    valore = parseFloat(stringa.replace(",","."));
    if (parseInt(valore) < parseInt(valore+.41)) alert("troppo 2")
    
    // Oppure considerarla una string...
    
    if (stringa.split(",")[1] > "59") alert("troppo 3")
    
    </script>
    ciao
    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

  3. #3
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    863
    Con il seguente controllo, tutto va ok, tranne il test sull numero maggiore di 59;




    [CODE

    if (form.durata.value == "") {
    alert("Inserire la durata.")
    form.durata.focus();
    return false}

    var myre=/^\d+[\,\.]{1}\d{2}$/;
    if (!(myre.test(form.durata.value))) {
    alert("Immettere un numero con 2 decimali nella durata.");
    form.durata.focus();
    return false;

    destra = parseInt(durata.value.split(",")[1],10)
    if (destra>59) alert("numero superiore a 59")
    form.durata.focus();
    return false;
    }

    [CODE]

  4. #4
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    863
    Dal momento che non sono molto ferrato in javascript, mi spiegate perchè, modificando lo script come segue e soprattutto sostituendo <60 al precente >59 , funziona tutto bene?
    Controllo se "durata" contiene 2 decimali e se questi assumono un valore non superiore a 59, visto che sono minuti


    [CODE]

    if (form.durata.value == "") {
    alert("Inserire la durata.")
    form.durata.focus();
    return false}

    var myre=/^\d+[\,\.]{1}\d{2}$/;
    if (!(myre.test(form.durata.value))) {
    alert("Immettere un numero con 2 decimali nella durata.");
    form.durata.focus();
    return false;
    }
    destra = parseInt(form.durata.value.split(",")[1],10)
    if (!(destra<60 ))
    {
    alert("numero maggiore di 59 minuti non consentito");
    form.durata.focus();
    return false;
    }

    [CODE]

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