Newsgroup: it.comp.lang.javascript
Titolo: Ci rinuncio, come faccio?

Salve a tutti, pochi giorni fa avevo inviato uin msg per chiedervi aiuto su
un js. Vi ringrazio molto per il vostro aiuto che mi avete dato però essendo
inesperto e non avendo disponibilità tempo ( ho i turni di lavoro ) lo
script è rimasto lì.
Vi chiedo se cortesemente potete correggermi questo script.
Vi riposto qui sotto il testo del precendete msg.
Un grazie a chi vorrà aiutarmi.
Buonasera a tutti Voi. Pochi giorni fa avevo posto il problema per il
seguente script. Ho seguito molto dettagliatamente e scrupolosametne i
Vostri gentilissimi cosigli. A causa però della mia scarsa cultura in merito
ai javascript non sono riuscito a risolvere tali problemi.
Vi chiedo se cortesemente poteste aiutarmi controllando questo script e, se
potete, correggerlo.
Ve ne sarei molto grato e sono disposto a contraccambiare con qualcosa.
Vi ringrazi fin d'ora per l'aiuto.
Distinti Saluti.
Questo è il codice della pagina:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
 <title>Untitled</title>
<script>
function Aggiungiemail() {
 var reDigitCheck;
 var szAddemail;
 var szNewemails;
 var aNewemails=new Array();
 var nLen;
 var szPrefix;
 var MAXemail=20;
 szNewemails=window.document..frmReg.HiddenNewemails.value;
 aNewemails=szNewemails.split(",");
 file://verifica che il numero non sia già stato inserito
 nLen=aNewemails.length;
 for (i = 0; i < nLen; i++)
  if (szAddemail==aNewemails[i]){
   alert("L'indirizzo email che volete inserire è già presente in elenco");
   return;
  }
 }
 file://verifica che le email aggiunte siano meno di MAXemail
  if (aNewemails.length > MAXemail ){
  alert("Attenzione - State inserendo un numero maggiore di email rispetto
al valore precedentemente impostato");
  return;
 }
 var ret = window.confirm("Confermi l'inserimento di questa email?");
 if (!ret)
  return;
 var oOpt = new Option(window.document.frmReg.email.value);
window.document.frmReg.lstemails.options[window.document.frmReg.lstemails.le
ngth]=oOpt;
 if (szNewemails.length==0)
  szNewemails= window.document.frmReg.email.value;
 else
  szNewemails=szNewemails + "," + window.document.frmReg.email.value;
 window.document..frmReg.HiddenNewemails.value=szNewemails;
}
function Cancellaemail(){
 var szOldemails="";
 var szRestemails="";
 var aRestemails= new Array();
 var szDeletedemail;
 var nLen;
 var i;
 if (window.document.frmReg.lstemails.selectedIndex<0){
  alert("Nessun indirizzo email da eliminare e' stata selezionata!");
  return;
 }
 var ret = window.confirm("E' sicuro di voler cancellare questo
indirizzo?");
 if (!ret)
  return;
szDeletedemail=window.document.frmReg.lstemails.options[window.document.frmR
eg.lstemails.selectedIndex].text;
window.document.frmReg.lstemails.options[
window.document.frmReg.lstemails.se
lectedIndex]=null;
 szOldemails=window.document..frmReg.HiddenNewemails.value;
 aRestemails=szOldemails.split(",");
 nLen=aRestemails.length;
 for (i = 0; i < nLen; i++)
  if (szDeletedemail!=aRestemails[i]){
   if (szRestemails.length==0)
    szRestemails=aRestemails[i];
   else
    szRestemails=szRestemails + "," + aRestemails[i];
  }
 }
 window.document..frmReg.HiddenNewemails.value= szRestemails;
 var s;
 var st="";
 var opts = window.document.frmReg.lstemails.options;
 opts.defaultSelected=false;
 for (s in opts) {
  st+= (s+": "+opts[s]+"\n");
  opts["length"]=null;
 }
 opts.selectedIndex=-1;
 if (szRestemails=="")
  return;
 aRestemails=szRestemails.split(",");
 nLen=aRestemails.length;
 for (i = 0; i < nLen; i++)
  var oOpt = new Option(aRestemails[i]);
  window.document.frmReg.lstemails.options[i]=oOpt;
 }
}
</SCRIPT>
</head>
<body bottommargin="0" leftmargin="0" marginheight="0" marginwidth="0"
link="#003366" vlink="#003366" alink="#003366">
<form method="POST" action="fdg.aps" name="frmReg">
<table border="0" width="500" cellpadding="0" cellspacing="0">
<tr>
 <td>
  <table border="0" width="95%">
    <tr>
      <td bgcolor="#000066" width="125"><font face="Arial" size="2"
color="#ffffff">&nbsp;<b>Aggiungi<br>
        &nbsp;numero <br>
        </b></font></td>
      <td bgcolor="#000066"><font face="Arial" size="2"  color="#ffffff">
        <input name="email" id="email" maxLength="30">
        <br>
        <a href="javascript:Aggiungiemail()"><img border="0" src="ok.gif"
alt="Click per aggiungere email all'elenco" WIDTH="78"
HEIGHT="20"></a>&nbsp;<br>
        </font> </td>
      <td>
      </td>
    </tr>
    <tr>
      <td bgcolor="#000066" width="125" align="left" valign="top"><font
color="#FFFFFF" face="Arial" size="2"><b>&nbsp;verifica
        <br>
        &nbsp;numeri</b> </font></td>
      <td bgcolor="#000066"><font face="Arial" size="2"  color="#ffffff">
        <select id="lstemails" name="lstemails" size="5">
          <option  value="empty">
        </select>
        <br>
        <a href="javascript:Cancellaemail()"><img border="0" src="ok.gif"
alt="Click per eliminare email dall'elenco email da aggiungere" width="78"
height="20"></a></font></td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>
 </td>
</tr>
</table>
  <input type="hidden" id="HiddenNewemails" name="HiddenNewemails" value="">
  <p><input type="submit" value="Invia" name="B1"><input type="reset"
value="Reimposta" name="B2"></p>
</form>
</body>
</html>


[]
Ci sono alcuni errori di sintassi doppi punti nelle dichiarazioni e
mancanza apertura graffa nei cicli e la chiusura del form prima
dell'ultimo ciclo.
riga 14  szNewemails=window.document.frmReg.HiddenNewemails.value; //
err doppi punti
riga 20  for (i = 0; i < nLen; i++) { // err manca parentesi
riga 46  window.document.frmReg.HiddenNewemails.value=szNewemails; //
err doppi punti
riga 69  szOldemails=window.document.frmReg.HiddenNewemails.value; //
err doppi punti
riga 73  for (i = 0; i < nLen; i++) { // err manca la graffa
riga 80  window.document.frmReg.HiddenNewemails.value= szRestemails; //
doppi punti
riga 97  for (i = 0; i < nLen; i++) { // err manca la graffa
riga 140 <!-- </form> -->
Saluti, Paolo