Newsgroup: it.comp.lang.javascript
Titolo: [?] Validare INPUT con With

Ciao,
premetto che non sono programmatore JS ma ASP con Visual Basic
e sto incominciando ad impare JS per programmare la validazione
di form lato client.
Ho bisogno di controllare che in campo ci sia solo un valore numerico e se
non č cosě visualizzo un messaggio d'errore.
Ho trovato il seguente codice:
function ValueValidation(entered, min, max, alertbox, datatype)
{
    // Value Validation by Henrik Petersen / NetKontoret
    // Explained at 
www.echoecho.com/jsforms.htm
    // Please do not remove this line and the two lines above.
    //Parametri opzionali:
    //min --valore minimo consentito nel field.
    //max --valore massimo consentito nel field.
    //text --testo per la casella di allarme se il contenuto č illegale.
    //type --inserire 'I' se sono ammessi solo i numeri interi.
with (entered)
{
  checkvalue=parseFloat(value);
  if (datatype)
  {
    smalldatatype=datatype.toLowerCase();
    if (smalldatatype.charAt(0)=="i")
    {
      checkvalue=parseInt(value);
    }
  }
  if ((parseFloat(min)==min && checkvalue<min) || (parseFloat(max)==max &&
checkvalue>max) || value!=checkvalue)
  {
    if (alertbox!="")
    {
      alert(alertbox);
      entered.focus();  // ERRORE
      entered.select(); // ERRORE
    }
    return false;
  }
  else {return true;}
}
}
<INPUT NAME="Qta" TYPE="TEXT" OnChange="ValueValidation(this,0,9999,'Il numero
immesso non č valido.','I');">
La mie domande sono queste:
1) come posso fare in modo che dopo avere visualizzato il messaggio di errore il
cursore rimanga nel campo e l'intero contenuto sia evidenziato?
So che devo usare i metodi focus() e select() ma non so come posso esprimere il
fatto che devono essere quelli del campo passato come parametro.
2) il codice sopra va bene anche per intercettare se il campo č stato lasciato
vuoto?
Grazie,
corradoLE...@tiscalinet.it
[Rimuovere LEVA]
http://members.websamba.com/Message-Board
ICQ 7044062
Como - Italy

 vuoto?
<html>
<head>
<title>test</title>
<script language="javascript">
function ver(){
if(document.forms[0].Qta.value==""){
alert('Inserire un numero!');
}
}
function ValueValidation(entered, min, max, alertbox, datatype)
{
    // Value Validation by Henrik Petersen / NetKontoret
    // Explained at 
www.echoecho.com/jsforms.htm
    // Please do not remove this line and the two lines above.
    //Parametri opzionali:
    //min --valore minimo consentito nel field.
    //max --valore massimo consentito nel field.
    //text --testo per la casella di allarme se il contenuto è illegale.
    //type --inserire 'I' se sono ammessi solo i numeri interi.
with (entered)
{
  checkvalue=parseFloat(value);
  if (datatype)
  {
    smalldatatype=datatype.toLowerCase();
    if (smalldatatype.charAt(0)=="i")
    {
      checkvalue=parseInt(value);
    }
  }
  if ((parseFloat(min)==min && checkvalue<min) || (parseFloat(max)==max
&&checkvalue>max) || value!=checkvalue)
  {
   alert(alertbox);
     }
}
}
</script>
</head>
<body>
<form method="post">
<INPUT NAME="Qta" TYPE="TEXT" OnBlur="ValueValidation(this,0,9999,'Il numero
immesso non è valido.','I');">
<br>
<br>
<input type="submit" value="Invia" name="B1" onMouseDown="ver()">
</form>
</body>
</html>
andreotta fabiano
WebMªster ATI POWER s.n.c.
andr...@atipower.it
http://www.atipower.it
http://www.aticommerce.com
http://www.afdsoftware.freeweb.org
http://www.jsdir.com
http://www.javascript.3000.it