La logica del tuo programma e` giusta, ma l'uso di alcune variabili non proprio.
1. non usare nomi riservati (ad esempio form e` nome riservato, camibialo ad es in form1);
2. il passaggio di qualche parametro non e` corretto:
function nomefun(form1) {
...
}
il nome del form viene passato con
onSubmit="nomefun(this);" // nel tag form
onClick="nomefun(this.form);" // nel tag input
Puoi anche metter un alert appena entrato nelle funzioni, per vedere se entra nelle funzioni.
Ciao
Michele