Newsgroup: it.comp.lang.javascript
Titolo: Netscape smemorato?

Ho un problema con il codice seguente che funziona perfettamente con IE ma
non con Netscape che mi restituisce "null".
Avete qualche suggerimento?
<html>
<head>
<title>TEST</title>
<script language="JavaScript">
function VisualizzaCatalogo(form)
{
var selezione=form.marca.value;
document.write("Hai selezionato: <b>"+selezione+"</b>.<br>");
}
</script>
</head>
<body>
<form method="POST">
  <p><strong>Marca </strong><select name="marca" size="1">
    <option value="EPSON">EPSON</option>
    <option value="HP">HP</option>
    <option value="CANON">CANON</option></select>
   <input type="submit" onClick="VisualizzaCatalogo(this.form)"
value="Invia" name="Invia"></p>
</form>
</body>
</html>

value="Invia" name="Invia"></p>
Netscape non ha nessun problema di memoria...
Dovresti invece stupirti del fatto che con IE funzioni!
this.form che cos'è?
prova document.forms[0] oppure this e basta (ma in teoria this dovrebbe essere riferito all'<input>, non al <form>... prova cmq)
---
the fly on the net
il webmaster più alto del mondo
"the devil inside" 
http://members.tripod.com/netfly
e-mail: 
net...@netbusiness.it

");
    document.write("<td bgcolor=#000000 align=center><font face=Arial
color=#FFFFFF><strong><small><small>Disp.</small></small></strong></font></t
d>");
    document.write("<td bgcolor=#000000 align=center><font face=Arial
color=#FFFFFF><strong><small><small>Prezzo</small></small></strong></font></
td>");
  document.write("</tr>");
ok=0
for (i=0; i<=65; i=i+11) {
    if (prodotti[i+1] == selezione) {
    ok=1;
    document.write("<tr>");
    document.write("<td bgcolor=#ffffff><font
color=#004080><strong><small><small>"+prodotti[i]+"</small></small></strong>
</font></td>");
    document.write("<td bgcolor=#ffffff><font
color=#004080><strong><small><small>"+prodotti[i+1]+"</small></small></stron
g></font></td>");
    document.write("<td bgcolor=#ffffff><font
color=#004080><strong><small><small>"+prodotti[i+2]+"</small></small></stron
g></font></td>");
    document.write("<td bgcolor=#ffffff><font
color=#004080><strong><small><small>"+prodotti[i+3]+"</small></small></stron
g></font></td>");
    document.write("<td bgcolor=#ffffff><font
color=#004080><strong><small><small>"+prodotti[i+4]+"</small></small></stron
g></font></td>");
    if (fig == "SI")
       document.write("<td><font color=004080><strong><small><small><img
src="+prodotti[i+5]+" width=82
height=85></small></small></strong></font></td>");
    }
    document.write("<td><font color=#004080><strong><small><small><a
href="+prodotti[i+6]+">Info</a></small></small></strong></font></td>");
    if (prodotti[i+7] == "BASSA") {
       document.write("<td><font color=#004080><strong><small><small><img
src=bassa.jpg width=29 height=31></small></small></strong></font></td>");
       }
    if (prodotti[i+7] == "ALTA") {
       document.write("<td><font color=#004080><strong><small><small><img
src=alta.jpg width=29 height=31></small></small></strong></font></td>");
       }
    document.write("<td bgcolor=#ffffff><p align=right><font
color=#004080><strong><small><small>"+prodotti[i+8]+"</small></small></stron
g></font></td>");
    document.write("</tr>");
    }
    }
    if (ok==0) {
     document.write("<tr><td>Nessun dato trovato per
<b>"+selezione+"</b>.</td></tr>");
  }
    document.write("</table>");
    }
</script>
<p><span style="background-color: rgb(255,255,0)"><font
color="#000000">Motore di ricerca
V.1.0</font></span></p>
<form name="filtro" method="POST">
  <p>Marca <select name="marca" size="1">
    <option value="EPSON">EPSON</option>
    <option value="HP">HP</option>
    <option value="CANON">CANON</option>
  </select> Output del catalogo <select name="immagini" size="1">
    <option value="NO">Testo</option>
    <option value="SI">Grafica</option>
  </select></p>
  <p><input type="button" onClick="VisualizzaCatalogo(document.forms[0])"
name="Cerca"
  value="CERCA"> </p>
</form>
<p>&nbsp;</p>
<hr size="1">
<p align="center"><em><strong><small><small>©1999 by
Ravisoft</small></small></strong></em></p>
</body>
</html>

 </form>
Io non sono un grosso esperto comunque così dovrebbe funzionare. In 
questo modo il this si riferisce a se stesso cioè il form, nel tuo si 
riferisce al bottone.
<form name="filtro" method="POST" onsubmit="VisualizzaCatalogo(this); 
return false;"> 
ed al posto di <input> metti:
<button type="submit" name="Cerca">Cerca</button>
Saluti,
   Mirko.
P.S.: In effetti non capisco come possa funzionare in IE, ma mai farsi 
troppe domande con prodotti M$! :-)