ciao a tutti.

Sto modificando ed aggiornando il sito di una fiera, più precisamente il modulo di registrazione, dove ho aggiunto alcuni campi e qualcosa devo ancora aggiungere.

Anni fa avevo messo uno script di controllo per il solo campo email, ora vorrei implementarlo rendendo obbligatori altri campi (come nome, codice fiscale, tipologia di merce esposta...) ed aggiungendo una casella per la conferma della presa visione del regolamento e dell'accettazione del trattamento dati.
Il problema, sicuramente, è che sono completamente arrugginito, non mettendoci mano da anni, ed ho appena fatto un paio di prove al volo seguendo alcuni consigli trovati qui sul forum senza riuscirci, quindi ho ripristinato il vecchio modulo.
Questa la pagina www.squamata.it/prenotazioni.html (tutto in html)

In serata rientro a casa e mi ci metto con più calma, ma se nel frattempo qualcuno riesce a darmi qualche dritta utile...

Questi gli script attualmente presenti e funzionanti:
codice:
<SCRIPT language=JavaScript type=text/JavaScript>
<!--
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve essere valida.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' necessaria.\n'; }
  } if (errors) alert('Inserire email valida:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</SCRIPT>
E questa la struttura del form (con tanto di istruzioni promemoria che mi ero segnato anni fa...):
codice:
<FORM action=http://FormMail.aruba.it/cgi-bin/FormMail.pl method=post onSubmit="MM_validateForm('email','','RisEmail');return document.MM_returnValue">

<INPUT name=subject type=hidden value="prenotazione/informazioni Squamata">

<INPUT name=recipient type=hidden value="risc@email.it">

<INPUT name=return_link_title type=hidden value="http://www.squamata.it/grazie.htm">

<INPUT name=return_link_url type=hidden value=http://www.squamata.it/grazie.htm/>
<INPUT name=required type=hidden value=email>

<input type="hidden" name="env_report" value="REMOTE_HOST,HTTP_USER_AGENT"> 

<input type="hidden" name="redirect" value="http://www.squamata.it/grazie.htm">
                             
            <table border="1" bordercolor="#CCCCCC" cellpadding="2" cellspacing="5">
              <tr>
                <td valign="top">nome e cognome</td>
                <td>nome attivit&agrave; o nome prenotazione

                (se diverso da &quot;nome e cognome&quot;)</td>
              </tr>
              <tr>
                <td><input name=realname  style="background-color: #CCCCCC; font-family: Andale Mono; font-size: 10 pt; color: #808080; border: 1 solid #b3bbbc" size=34 /></td>
                <td><input name="Nome Prenotazione"  style="background-color: #CCCCCC; font-family: Andale Mono; font-size: 10 pt; color: #808080; border: 1 solid #b3bbbc" size=34 /></td>
              </tr>
              <tr>
                <td valign="top">Codice Fiscale</td>
                <td>Partita IVA

                (solo per aziende ed attività commerciali)</td>
              </tr>
              <tr>
                <td><input name=codicefiscale  style="background-color: #CCCCCC; font-family: Andale Mono; font-size: 10 pt; color: #808080; border: 1 solid #b3bbbc" size=34 /></td>
                <td><input name="partitaiva"  style="background-color: #CCCCCC; font-family: Andale Mono; font-size: 10 pt; color: #808080; border: 1 solid #b3bbbc" size=34 /></td>
              </tr>
              <tr>
                <td colspan="2">indirizzo completo

                (via, numero civico, CAP, citt&agrave;, provincia)</td>
              </tr>
              <tr>
                <td colspan="2"><input name=Indirizzo  style="background-color: #CCCCCC; font-family: Andale Mono; font-size: 10 pt; color: #808080; border: 1 solid #b3bbbc" size=80 /></td>
              </tr>
              <tr>
                <td colspan="2">e-mail *</td>
              </tr>
              <tr>
                <td colspan="2"><input name=email  style="background-color: #CCCCCC; font-family: Andale Mono; font-size: 10 pt; color: #808080; border: 1 solid #b3bbbc" size=34 /></td>
              </tr>
...
...(tutti gli altri campi)
...
<tr>
                <td colspan="2" valign="top"><input type=submit value="Invia / Send" />
                <INPUT TYPE=RESET  VALUE="Cancella / Reset"></td>
              </tr>
            </table>
            </form>