C'e` qualcosa che mi sfugge. Forse un conflitto tra nomi di variabili.

Prova a visualizzare il nome del form dentro lo script )con questa modifica):
codice:
function checkrequired(f) {
  alert ("nome form: "+f.name);
  for(var k=0;k<f.elements.length;k++) {
    if(f.elements[k].type=='text')
    ...
  }
}
In tal caso devi anche inserire l'attributo name dentro il tag form:
<form name="quellochevuoi" onsubmit="checkrequired(this);">