Mazingerz:
La linea
Cita: var a_fields = new Array(nlen,2);
no define un array bidimensional. De hecho, define un array de una dimensión con dos elementos los cuales son el contenido "nlen" y 2.
Ahora bien, un array de varias dimensiones no es otra cosa más que arrays dentro de un array. El modo de acceso a un elemento en un array dentro de otro array, es:
array[posicionN][posicion_en_posicionN]
Una cosa más. Los arrays en JavaScript comienzan con índice 0. Y pueden ser declarados ya sea con:
Código:
variable_array = new Array(elemento1, elemento2, elementoN) // (así lo hiciste)
o bien, con el literal de arrays:
Código:
"variable_array = [elemento1, elemento2, elementoN];"
En resumen, modificando tu código para ajustarse a la síntaxis de Javacript, queda así:
Código:
function Atestarray(){
var a_fields = new Array();
for (var i=0; i<document.forms[0].elements.length; i++){
if (document.forms[0].elements[i].type=='text'){
a_fields[i] = [document.forms[0].elements[i].name,
document.forms[0].elements[i].value
];
}
}
for (var i=0 ; i<a_fields.length ; i++){
window.alert ('Array :' + a_fields[i][0] + '=' + a_fields[i][1]);
}
}
Saludos.