Pues tienes razón...la verdad no entendí muy bien que es lo que quieres hacer.
Pero si quiero hacerte una recomendación.
esta expresión : document.formu.nombre_+ x +.value, no la va a ejecutar javascript ya que primero no es sintacticamente valida. En este caso el navegador va intentar buscar una propiedad del objeto document.formu que se llama nombre_+ x + literalmente, no va a tomar en cuenta el valor del parametro x que en teoria le estas pasando sino que va abuscar una propiedad con ese nombre textualmente y como ya sabes ese no es un nombre valido para una variable en ningun lenguaje de programación.
Es como si nombraras un atributo en JAVA así: int nombre_+ x +;
obviamente no se puden usar caracteres no alfanumericos nombrando variable.
entonces para lograr que esta parte funcione te recomiendo la función eval() que ejecuta una cadena de carateres como si fuera código javascript.
Entonces así quedaría esta línea:
var campo = eval("document.formu.nombre_"+ x +".value");
si te fijas bien la cadena que le estoy pasando a la función es la expresión javascript que debe ejecutar y simplemente en el momento de la asignación x se convertirá en el valor de tu parametro. En consecuencia a esto la expresión que ejecutara eval() sera esta en el casoi de que x valga 1:
document.formu.nombre_1.value
si pudieramos ver el código después que se ejecute esta expresión por medio de eval() nuestra linea se veria así:
var campo = document.formu.nombre_1.value;
En el casi de que x valga 1. De esta forma la variable campo almacenará el valor de document.formu.nombre_1.value
Espero te halla servido esta información. Finalmente te repito el código que debes poner:
En vez de esta:
var campo = document.formu.nombre_+ x +.value;
Debes poner esta:
var campo = eval("document.formu.nombre_"+ x +".value");
Saludos.
Pero si quiero hacerte una recomendación.
esta expresión : document.formu.nombre_+ x +.value, no la va a ejecutar javascript ya que primero no es sintacticamente valida. En este caso el navegador va intentar buscar una propiedad del objeto document.formu que se llama nombre_+ x + literalmente, no va a tomar en cuenta el valor del parametro x que en teoria le estas pasando sino que va abuscar una propiedad con ese nombre textualmente y como ya sabes ese no es un nombre valido para una variable en ningun lenguaje de programación.
Es como si nombraras un atributo en JAVA así: int nombre_+ x +;
obviamente no se puden usar caracteres no alfanumericos nombrando variable.
entonces para lograr que esta parte funcione te recomiendo la función eval() que ejecuta una cadena de carateres como si fuera código javascript.
Entonces así quedaría esta línea:
var campo = eval("document.formu.nombre_"+ x +".value");
si te fijas bien la cadena que le estoy pasando a la función es la expresión javascript que debe ejecutar y simplemente en el momento de la asignación x se convertirá en el valor de tu parametro. En consecuencia a esto la expresión que ejecutara eval() sera esta en el casoi de que x valga 1:
document.formu.nombre_1.value
si pudieramos ver el código después que se ejecute esta expresión por medio de eval() nuestra linea se veria así:
var campo = document.formu.nombre_1.value;
En el casi de que x valga 1. De esta forma la variable campo almacenará el valor de document.formu.nombre_1.value
Espero te halla servido esta información. Finalmente te repito el código que debes poner:
En vez de esta:
var campo = document.formu.nombre_+ x +.value;
Debes poner esta:
var campo = eval("document.formu.nombre_"+ x +".value");
Saludos.