Hola:
En principio tienes algo mal:
Código:
if(document.forms[valor][campos[i]].value=="")
Aunque hay otro problema... creo que al tratarse de un array, es conveniente que uses el otro bucle, pero entrecorchetando los resultados del array...
Código:
for(i=0;i<campos.length;i++){
if(document.forms[valor][campos[i]].value==""){
Saludos