Newsgroup: it.comp.lang.javascript
Titolo: IE 5.0 e 5.5

Salve,
ho il seguente script per verificare la corretta immissione di un dato
all'interno di una form:
=================================
<script language="JavaScript">
function Check()
{
 if (document.form.campo1.value == "0")
 {
  alert('Scegliere un valore');
  return false;
 }
</script>
==================================
... il problema e' che con IE4.0 e 5.0 funziona tutto correttamente ...
mentre in browser con IE 5.5 il controllo non viene eseguito per niente!
Qualcuno riesco a darmi un aiuto?
Grazie mille,
Pierpaolo Villano
P.S.
Il codice JS lo richiamo al verificarsi dell'evento onclick sul bottone
Submit del form!

 Qualcuno riesco a darmi un aiuto?
Funziona perfettamente..........prova questo..
<html>
<head>
<title>Nuova pagina 1</title>
<script language="JavaScript">
function Check(){
 if (document.form.campo1.value == "0"){
  alert('Scegliere un valore');
  return false;
 }
}
</script>
</head>
<body>
<form method="POST" name="form">
  <p><input type="text" name="campo1" size="20" value=0 >
  <input type="submit" value="Invia" name="B1" onMouseDown="Check()">
  <input type="reset" value="Reimposta" name="B2"></p>
</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

</html>
In realta', cosi' facendo, il controllo viene effettuato solo nel caso in cui venga premuto il tasto 'Invia'.
Semmai dalla casella 'campo1', lasciando '0' come valore, si premesse enter sulla tastiera (quindi senza premere esplicitamente 'Invia'), il form sarebbe inviato senza alcun controllo preventivo.
C'e' un modo per bloccare l'invio del form premendo enter da un campo di input, per effettuare cosi' un controllo a monte e non solo in seguito al submit?
TIA
Saluti
BePPe
------------------------------------------
Posted via web with GlobalNews
The first european Free Usenet Web Portal 
www.globalnews.it
------------------------------------------
<<CyberBePPe>>
Junior Web Programmer
City: Torino - Country: I EU
e-Mail: 
Cyber...@freemail.it

solo in seguito al submit?
Rettifico: gia' trovato.
Lo script che funziona in ogni caso (su IE, ma non su NS),
escludendo il submit via enter da casella di input, e' il seguente:
<html>
<head>
<title>Nuova pagina 1</title>
  <script language="JavaScript">
  <!--  
    function Check(){
      if (document.form.campo1.value == "0")
      {
        alert('Scegliere un valore');
        setTimeout('document.form.campo1.focus()',40);
        return false;
      }
    }
    function noEnter()
    {
      return !(window.event && window.event.keyCode == 13);
    }
  //-->
  </script>
</head>
<body>
<form name="form">
  <p>
    <input type="text" name="campo1" size="20" value="0" onKeyPress="return noEnter()">
    <INPUT type="submit" value="Invia" name="B1" onMouseDown="Check()">
    <input type="reset" value="Reimposta" name="B2">
  </p>
</form>
</body>
</html>
Il timeout e' indispensabile per risolvere il solito bug di IE
sul ripristino del fuoco, in questo caso nel ritorno dalla
finestra di alert (altrimenti funzionerebbe solo la prima volta).


all'interno di una form:
[snip]
Prova con questo, funziona sia con IE che con Netscape;
disattivando il submit via 'enter' effettua un reale controllo
preventivo, senza via di scampo...
<html>
<head>
  <title>Form a controllo preventivo</title>
    <SCRIPT language='JavaScript'>
    <!--
      function valueCheck(){
        if (document.form.campo1.value == '0')
        {
          alert('Scegliere un valore');
          setTimeout('document.form.campo1.focus()',40);
          return false;
        }
      }
      // Disattiva il submit tramite Enter
      function noEnter(event,myform)
      {
        if (navigator.appName.indexOf('Netscape')==-1)
        {
          return !(window.event && window.event.keyCode == 13);
        }
        else
        {
          return !(event && event.which == 13);
        }
      }
    //-->
    </SCRIPT>
  </head>
<body>
  <FORM name='form'>
    <INPUT type='text' name='campo1' size='20' value='0' onKeyPress = 'return noEnter(event,this.form)'>
    <INPUT type='submit' value='Invia' name='B1' onMouseDown = 'valueCheck()'>
    <INPUT type='reset' value='Reimposta' name='B2'>
  </FORM>
</body>
</html>
