Arrays y matrices
La duda es que no conozco el manejo(declaración y asignación de valor) de las matrices o arrays de arrays en javascript. El ejercicio, aunque sin sentido porque se debería hacer con ficheros, consiste en obtener 2 datos de un formulario, nombre y apellidos, y comprobar si estos ya existen en el/los arrays al efecto. Si existen, se muestra un mensaje de error y, si no, se añaden al array.
Como no se declarar matrices, he usado 2 arrays para cada dato y ambos van a tener el mismo índice para comparar los datos completos.
El script que he puesto es el siguiente:
<script language="javascript">
function validacion(formulario) {
var Nombre = new Array()
var Apellidos = new Array()
var contador
if (formulario.elements[0].value == "" || formulario.elements[1].value == ""){
alert ("No puede dejar ninguno de los campos vacios")
return false
}else{
if (Nombre.length != 0){
for (contador = 0; contador < Nombre.length; contador++){
if (formulario.elements[0].value == persona.Nombre[contador] && formulario.elements[0].value == persona.Apellidos[contador]){
alert("Lo siento pero ese nombre ya está cogido")
break
return false
}
}
}
Nombre[Nombre.length]=formulario.elements[0].value
Apellidos[Apellidos.length]=formulario.elements[1].value
return true
}
}
</script>
Y el problema es que al salir de la función, los arrays están vacíos, no se si porque no los introduce o porque al salir de la función y regresar al formulario hace un refresh y se pierden.
Agradecería enormemente si alguien me dijese que le pasa al script o bien, en el caso de que haga un refresh, cómo pasar los arrays en la actualización.
Si no es demasiado engorroso, me gustaría cono cer el código usando una matriz bidimensional para los 2 datos.
Como no se declarar matrices, he usado 2 arrays para cada dato y ambos van a tener el mismo índice para comparar los datos completos.
El script que he puesto es el siguiente:
<script language="javascript">
function validacion(formulario) {
var Nombre = new Array()
var Apellidos = new Array()
var contador
if (formulario.elements[0].value == "" || formulario.elements[1].value == ""){
alert ("No puede dejar ninguno de los campos vacios")
return false
}else{
if (Nombre.length != 0){
for (contador = 0; contador < Nombre.length; contador++){
if (formulario.elements[0].value == persona.Nombre[contador] && formulario.elements[0].value == persona.Apellidos[contador]){
alert("Lo siento pero ese nombre ya está cogido")
break
return false
}
}
}
Nombre[Nombre.length]=formulario.elements[0].value
Apellidos[Apellidos.length]=formulario.elements[1].value
return true
}
}
</script>
Y el problema es que al salir de la función, los arrays están vacíos, no se si porque no los introduce o porque al salir de la función y regresar al formulario hace un refresh y se pierden.
Agradecería enormemente si alguien me dijese que le pasa al script o bien, en el caso de que haga un refresh, cómo pasar los arrays en la actualización.
Si no es demasiado engorroso, me gustaría cono cer el código usando una matriz bidimensional para los 2 datos.
1 respuesta
Respuesta de gandalf26
-1