Newsgroup: it.comp.lang.javascript
Titolo: funzioni di controllo - onsubmit="controlla()"

Mi ritrovo di nuovo davanti un problema, ho dei form che
richiamano ognuno la propria funzione javascript di controllo, ma queste
sembrano non funzionare (non vengono proprio richiamate), eppure io ho
sempre fatto così come di seguito e ho avuto sempre
buon esito.
-------------------codice------------------
<HTML>
<HEAD>
<TITLE></TITLE>
<link rel="stylesheet" href="pagine_comuni/Stile.css" type="text/css">
</HEAD>
<BODY topmargin="0">
<script language="javascript">//<!--
function catalogo() {
//if (document.frmcatalogo.catalogo.value=="none") {
window.alert("Selezione non valida!");
return false;
//}
//if (document.frmcatalogo.catalogo.value=="") {
//window.alert("Selezionare un'Azienda!");
//return false;
//}
}
function zona() {
//if (document.frmzona.zona.value=="none") {
window.alert("Selezione non valida!");
return false;
//}
//if (document.frmzona.zona.value=="") {
//window.alert("Selezionare una zona!");
//return false;
//}
//if (document.frmzona.prodotti.value=="none") {
//window.alert("Selezione non valida!");
//return false;
//}
//if (document.frmzona.prodotti.value=="") {
//window.alert("Selezionare un prodotto!");
//return false;
//}
}
function categoria() {
//if (document.frmcategoria.categoria.value=="none") {
window.alert("Selezione non valida!");
return false;
//}
//if (document.frmcategoria.categoria.value=="") {
//window.alert("Selezionare una categoria!");
//return false;
//}
}
//--></script>
       <!--FORM categoria-->
         <TABLE border="0" cellpadding="0" cellspacing="0">
         <FORM target="_top" action="motore/index_motore.asp" method="post"
name="frmcategoria" onsubmit="return categoria()">
            <TR>
           <TD><STRONG>Categorie merce</STRONG><BR>
            <SELECT name="categoria">
             <OPTION selected value="">seleziona una categoria</OPTION>
              <OPTION value="1">categoria</OPTION>
            </SELECT>
           </td>
           <td valign="bottom">
            <INPUT src="" type=image name=bcategoria>
           </TD>
          </tr>
         </form>
         </table>
        <!--FORM CATALOGO-->
         <TABLE border="0" cellpadding="0" cellspacing="0">
         <FORM target="_top" action="motore/index_motore.asp" method="post"
name="frmcatalogo" onsubmit="return catalogo()">
            <TR>
           <TD><STRONG>Catalogo Aziende</STRONG><BR>
            <SELECT name="catalogo">
             <OPTION selected value="">seleziona un'azienda</OPTION>
              <OPTION value="21">44444</OPTION>
              <OPTION value="22">44444</OPTION>
              <OPTION value="49">a</OPTION>
            </SELECT>
           </td>
           <td valign="bottom">
            <INPUT src="" type=image name=bcatalogo>
           </TD>
          </tr>
         </form>
         </table>
     <!--FORM PRODOTTIXZONA-->
<FORM target="_top" action="motore/index_motore.asp" method="post"
name="frmzona"  onsubmit="return zona
<table><tr><td>
          <STRONG>Zona</STRONG><BR>
          <SELECT name="zona">
           <OPTION selected value="">seleziona una zona</OPTION>
            <OPTION value="milano">milano</OPTION>
            <OPTION value="roma">roma</OPTION>
          </SELECT>
         </td></tr></table>
         <table><tr><td>
          <STRONG>Prodotti</STRONG><BR>
          <SELECT name="prodotti">
           <OPTION selected value="">seleziona un prodotto</OPTION>
            <OPTION value="1">prodotto</OPTION>
            <OPTION value="2">prodotto1</OPTION>
         </SELECT>
         </td></tr></table>
        </TD>
        <td valign="bottom">
         <INPUT src="" type=image name=bzona>
      </form>
</BODY>
</HTML>

mmhhh.. errore strano,
non devi chiamare gli elementi del form allo stesso
modo di una funzione, quindi se ad es la funzione
la chiami zona il select non lo puoi chiamare zona,
ma Zona o come altro vuoi..
..
--
Bye
        Ro<*¿*>berto


ma io l'ho chiamato il form l'ho chiamato : frmnomeselect no con il nome del
select
??????????

prova a cambiare nome o alle funzioni
oppure ai select, io ho notato un nome simile
nel form zona, cambia il nome, provalo e poi
mi dici,,


 buon esito.
Ti posto il codice completamente funzionante.
Modifiche:
- Cambiato il nome delle funzioni. Come altri avevano suggerito, c'era un conflitto fra i NAME dei SELECT e le function.
- Non si usa .value per vedere quale OPTION è selezionato in un <SELECT> bisogna usare ".selectedIndex".
- Un'ultimo errore era la mancanza di questi caratteri (fra i due segni di uguale) nell'ultimo onsubmit delle zone: =()">=
Segue il tutto:
------------begin-----------------
<HTML>
<HEAD>
<TITLE></TITLE>
<link rel="stylesheet" href="pagine_comuni/Stile.css" type="text/css">
<script language="javascript">
<!--
function CheckZona()
 {
 if (document.frmzona.zona.selectedIndex==0)
  {
  window.alert("Selezionare una zona!");
  return false;
  }
 if (document.frmzona.prodotti.selectedIndex==0)
  {
  window.alert("Selezionare un prodotto!");
  return false;
  }
 }
function CheckCatalogo()
 {
 if (document.frmcatalogo.catalogo.selectedIndex==0)
  {
  window.alert("Selezionare un'Azienda!");
  return false;
  }
 }
function CheckCategoria()
 {
 if (document.frmcategoria.categoria.selectedIndex==0)
  {
  window.alert("Selezione non valida!");
  return false;
  }
 }
//-->
</script>
</HEAD>
<BODY topmargin="0">
 <!--FORM categoria-->
<TABLE border="0" cellpadding="0" cellspacing="0">
<FORM target="_top" action="motore/index_motore.asp" method="post" name="frmcategoria" onsubmit="return CheckCategoria()">
<TR>
<TD><STRONG>Categorie merce</STRONG><BR>
<SELECT name="categoria">
<OPTION selected>seleziona una categoria</OPTION>
<OPTION value="1">categoria</OPTION>
</SELECT>
</td>
<td valign="bottom">
<INPUT src="" type=image name=bcategoria>
</TD>
</tr>
</form>
</table>
<!--FORM CATALOGO-->
<TABLE border="0" cellpadding="0" cellspacing="0">
<FORM target="_top" action="motore/index_motore.asp" method="post" name="frmcatalogo" onsubmit="return CheckCatalogo()">
<TR>
<TD><STRONG>Catalogo Aziende</STRONG><BR>
<SELECT name="catalogo">
<OPTION selected value="">seleziona un'azienda</OPTION>
<OPTION value="21">44444</OPTION>
<OPTION value="22">44444</OPTION>
<OPTION value="49">a</OPTION>
</SELECT>
</td>
<td valign="bottom">
<INPUT src="" type=image name=bcatalogo>
</TD>
</tr>
</form>
</table>
<!--FORM PRODOTTIXZONA-->
<FORM target="_top" action="motore/index_motore.asp" method="post" name="frmzona"onsubmit="return CheckZona()">
<table><tr><td>
<STRONG>Zona</STRONG><BR>
<SELECT name="zona">
<OPTION selected value="">seleziona una zona</OPTION>
<OPTION value="milano">milano</OPTION>
<OPTION value="roma">roma</OPTION>
</SELECT>
</td></tr></table>
<table><tr><td>
<STRONG>Prodotti</STRONG><BR>
<SELECT name="prodotti">
<OPTION selected value="">seleziona un prodotto</OPTION>
<OPTION value="1">prodotto</OPTION>
<OPTION value="2">prodotto1</OPTION>
</SELECT>
</td></tr></table>
</TD>
<td valign="bottom">
<INPUT src="" type=image name=bzona>
</form>
</BODY>
</HTML>
-----------end--------------
Con le scuse a tutti per la lunghezza del mex.
Ciao, Riccardo
-----------------------------------------------------------------------
http://www.bottegasanlorenzo.it
http://www.jsdir.com
Need a JavaScript password?
http://www.agora.it/Ri.Riccardi/ingresso.html
-----------------------------------------------------------------------
"Any sufficientely advanced technology is indistinguishable from magic"
Arthur Charles Clarke
-----------------------------------------------------------------------
.
.
.
.
.
 . . . . . . I Fantastici 4 stanno arrivando . . . . . .