Puoi postare anche il codice HTML?

Comunque, a mio avviso, il modo migliore per ottenere gli elementi è:

Codice PHP:
function variabili(scelta){

 
nm = new Array(); // nomi dei campi
 
vl = new Array(); // valori corrispondenti
 
ii 0// indice dell'array
 
document.getElementsByName('top')[0];
 
t.getElementsByName('homes')[0];
 
h.getElementsByName('ricerca')[0];
 
r.getElementsByName('cerca')[0];
 
nome_campo '';
 for (var 
i=0;i<f.elements.length;i++) {
  
el f.elements[i];
  
ty el.type;
  if (
ty=="text" || ty=="password" || ty=="textarea") {
   
nm[ii] = el.name;
   
vl[ii] = el.value;
   if (
nome_campo!=null){
    
nome_campo=nome_campo+'&'+el.name+'='+el.value;
   }
   else
   {
    
nome_campo=el.name+'='+el.value;
   }
   
ii++;
 }

Un'altra cosa controlla che i nome siano scritti corretti:

se usi <input type="text" name="Cerca" /> e poi usi f = top.homes.ricerca.cerca; non è detto che funzioni su tutti i browser, perché potrebbe essere case sensitive