Non so se posto il problema nella sezione giusta..
espongo il problema:

ho una pagina xhtml 1.0 strict in cui ho una form, il problema è che l'xhtml 1.0 strict non vuole l'attributo "name" al tag "form" per poterlo validare col w3c validator, ma se tolgo l'attributo "name" e metto al suo posto solo l'attributo "id", come devo modificare la funzione? perchè così com'è ora, senza il "name" la funzione non viene vista!
Ecco l'html della form:

<form id="modulo" onsubmit="return controllo();" action="mailto:xxx@xxx.it" method="post">
<fieldset>
<label>* Nome [N]: </label> <input name="nome" type="text" class="text" id="nome" size="30" accesskey="N" />
<label>* Cognome [C]: </label> <input name="cognome" type="text" class="text" id="cognome" size="30" accesskey="C" />
<label>* E-mail [E]: </label> <input name="email" type="text" class="text" id="email" size="30" accesskey="E" />
<label>* Messaggio [M]: </label> <textarea name="messaggio" class="comments" id="messaggio" rows="10" cols="1" accesskey="M"></textarea>
<input type="reset" name="Reset" value="Cancella [R]" accesskey="R" />
<input type="submit" name="Submit" value="Invia [I]" accesskey="I" />
</fieldset>
</form>

poi ho la seguente funzione che fa un controllo su tutti i campi:

function controllo(){
with(document.modulo) {
var EmailAddr = email.value;
var Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
if(nome.value=="") {
alert("Errore: compilare il campo NOME");
nome.focus();
return false;
}
if(cognome.value=="") {
alert("Errore: compilare il campo COGNOME");
cognome.focus();
return false;
}
if(messaggio.value=="") {
alert("Errore: compilare il campo MESSAGGIO");
messaggio.focus();
return false;
}
if (Filtro.test(EmailAddr))
return true;
else {
alert("Errore: il valore del campo E-mail non è valido o è assente");
email.focus();
return false;
}
}

}

Spero di essermi spiegata..