Newsgroup: it.comp.lang.javascript
Titolo: Errore nel controllo di campo numerico intero

Vi sottopongo uno strano problema.
Ho realizzato una semplice e banale pagina html con FrontPage98 e ho
utilizzato la sua funzionalita` di controllo sull'immissione di valori
numerici 'interi' in alcuni campi che riferiscono a formati data.
Ora, immaginiamo per esempio che il controllo preveda di accettare solo
i valori numerici (per il campo 'giorno') compresi tra 1 e 31, e (per il
campo 'mese') i valori numerici tra 1 e 12.
Il normale metodo di inserimento nel form, si sa, e` DD o MM,
esprimento  i valori tra 1 e 9 preceduti da uno zero. Il controllo
Javascript mi funziona correttamente se io esprimo il valore DD o MM
senza precederlo da zero, oppure se lo precedo da zero, ma solo fino al
valore '07'. Dal valore '08' mi segnala un Javascript alert, come se il
valore inserito in input non fosse corretto.
Strano, vero?
Io vi allego un pezzetto del Javascript generato da FrontPage, dove
viene eseguito il controllo.
Ringrazio sin da ora chiunque mi sappia dare una mano, non fosse altro
che per curiosita`, visto che (alla peggio) aggirerei l'ostacolo facendo
eseguiire il controllo dal codice Perl che poi si prende in pasto i dati
inseriti.
Grazie e saluti.
Alex
-- 
PLEASE - REMOVE 'nospam' from the mail address!!!
                          \|/
                         (@ @)
---------------------oOO--(_)--OOo----------------
Alessandro Feltrin - C&M S.p.a. Tel. 011-7767877
		     Torino - C.so Svizzera, 185
		     E-Mail 
afel...@c-m.it

Ecco allegato un pezzo del codice Javascript generato da FrontPage98,
dove viene eseguito il controllo sull'inserimento di un valore compreso
tra 01 e 31, e dove i valori 08 e 09 non funzionano.
Saluti.
Alex
function FrontPage_Form1_Validator(theForm)
{
  if (theForm.dd.value == "")
  {
    alert("Please enter a value for the \"dd\" field.");
    theForm.dd.focus();
    return (false);
  }
  if (theForm.dd.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"dd\" field.");
    theForm.dd.focus();
    return (false);
  }
  if (theForm.dd.value.length > 2)
  {
    alert("Please enter at most 2 characters in the \"dd\" field.");
    theForm.dd.focus();
    return (false);
  }
  var checkOK = "0123456789-";
  var checkStr = theForm.dd.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"dd\" field.");
    theForm.dd.focus();
    return (false);
  }
  var chkVal = allNum;
  var prsVal = parseInt(allNum);
  if (chkVal != "" && !(prsVal >= "01" && prsVal <= "31"))
  {
    alert("Please enter a value greater than or equal to \"1\" and less
than or equal to \"31\" in the \"dd\" field.");
    theForm.dd.focus();
    return (false);


The forrowing problem is from Andre, thanks help!
Hi my name is Andre, I have recently cut & paste a ticker tape to put on
our HOG Chapters website that I have been creating for the past 2
months. I'm at my fifth day on this problem and getting very frustrated,
as you can see if you go to 
www.hogchapters.com/Kingston
  you will
notice that a problem exists in the Java Script. I'm not a programmer or
a genius in this field, all I want to do is have this darn script
working. I've tried everything,, e-mailed many people, tryed chat rooms
you name it, you are my last hope that I might find someone here to help
me in making this simple tape working.
signed:
Frustrated