Devo validare un imput text che non deve contenere, dopo la virgola, un numero maggiore di 59.
![]()
Devo validare un imput text che non deve contenere, dopo la virgola, un numero maggiore di 59.
![]()
Alcune annotazioni...![]()
ciaocodice:<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>
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
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]
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]