Foros del Web » Programando para Internet » Javascript »

Validar campo contra array

Estas en el tema de Validar campo contra array en el foro de Javascript en Foros del Web. Buenas a todos, tengo un codigo que encontre en el foro y quiero ver si se puede hacer una modificacion, pero no se como hacerlo... ...
  #1 (permalink)  
Antiguo 06/01/2005, 12:24
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Validar campo contra array

Buenas a todos, tengo un codigo que encontre en el foro y quiero ver si se puede hacer una modificacion, pero no se como hacerlo...
La idea es la siguiente, el codigo me controla que los campos no esten vacios pero quiero que el campo 'CAMPO1' me valide tambien si el codigo que le ingresa no exista en un array. De echo si existe me tire un mensaje tipo alert .

Como hago esto... Bueno si me pueden dar una mano desde ya se los agradecere y muchas gracias por todo.
Este es el codigo de ejemplo.

Código PHP:
<html>
<
head>
<
title>Untitled</title>

<
script language=JavaScript type=text/javascript>
<!--
String.prototype.itsWhitespace = function(){
    return 
this.search(/S/g) == -true false
}

var 
msk_txt = /CAMPOd/
function 
check_txt(current_form){
    var 
its_ok 0
    
for(var ctr 0ctr current_form.lengthctr++){

        if(
msk_txt.test(current_form[ctr].name)){

            if(
current_form[ctr].value.itsWhitespace()){
            
its_ok++
            }else{
            }
        }
    }
if(
its_ok == 0){
    
// Enviamos el formulario
    
current_form.submit()
}else{
    
alert("Por favor rellene todos los campos ")
}
}

//-->
</script>

</head>
<body>
<form action="formulario.php" method="post" name="form1" onsubmit="return false">
<input  type="text" name="CAMPO1" >
<input  type="text" name="CAMPO2" >
<input  type="text" name="CAMPO3" ><br>
<input type="button" value="Enviar" onclick = "check_txt(this.form)">
</form>
</body>
</html> 

Ahh me olvidaba el array es de php y lo tengo cargado con codigos de tres cifras tipo 001 , 005 , 007 etc...

desde ya gracias y saludos
  #2 (permalink)  
Antiguo 06/01/2005, 13:01
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Yo creo que lo más sencillo sería convertir el array a una cadena de texto con los valores seprarados por un punto y coma:

$cadenaArray = implode (";", $tuarray);

Esa cadena la metes en una variable javascript:

var valores="<?=$cadenaArray?>";

y después para comprobar que ese campo no tiene un valor que esté en esa cadena usa el indexOf:
...
...
if(msk_txt.test(current_form[ctr].name)){

if(current_form[ctr].value.itsWhitespace()){
its_ok++
}else{
}
if (current_form[ctr].name=="CAMPO1" && valores.indexOf(current_form[ctr].value)!=-1){
its_ok++;
}
}
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 06/01/2005, 13:50
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Gracias Living.
Lo de la $cadenaArray = implode (";", $tuarray); eso lo entiendo pero no entiendo como poner el resto de las cosas en el javascript.
Si no es molestia me esplicas como coloco el resto del codigo
desde ya muchas gracias.
  #4 (permalink)  
Antiguo 06/01/2005, 14:01
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Código HTML:
<html> 
<head> 
<title>Untitled</title> 

<script language=JavaScript type=text/javascript> 
<!-- 
String.prototype.itsWhitespace = function(){ 
    return this.search(/S/g) == -1 ? true : false 
} 

var msk_txt = /CAMPOd/ 
function check_txt(current_form){ 
    var valores="<?=$cadenaArray?>";
    var its_ok = 0 
    for(var ctr = 0; ctr < current_form.length; ctr++){ 

       if(msk_txt.test(current_form[ctr].name)){ 

if(current_form[ctr].value.itsWhitespace()){ 
        its_ok++ 
}else{ 
} 
if (current_form[ctr].name=="CAMPO1" && valores.indexOf(current_form[ctr].value)!=-1){
   its_ok++;
  }
}    

} 
if(its_ok == 0){ 
    // Enviamos el formulario 
    current_form.submit() 
}else{ 
    alert("Por favor rellene todos los campos ") 
} 
} 

//--> 
</script> 

</head> 
<body> 
<form action="formulario.php" method="post" name="form1" onsubmit="return false"> 
<input  type="text" name="CAMPO1" > 
<input  type="text" name="CAMPO2" > 
<input  type="text" name="CAMPO3" ><br> 
<input type="button" value="Enviar" onclick = "check_txt(this.form)"> 
</form> 
</body> 
</html> 
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #5 (permalink)  
Antiguo 06/01/2005, 15:14
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Gracias, por la ayuda,
pero hay un problema, ya que el mensaje de Alert se activa y dice que los campos estan vacios.
  #6 (permalink)  
Antiguo 06/01/2005, 15:49
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Código HTML:
<html> 
<head> 
<title>Untitled</title> 

<script language=JavaScript type=text/javascript> 
<!-- 
String.prototype.itsWhitespace = function(){ 
    return this.search(/S/g) == -1 ? true : false 
} 

var msk_txt = /CAMPOd/ 
function check_txt(current_form){ 
    var valores="<?=$cadenaArray?>";
    var its_ok = 0 
    var campoValido=true;
    for(var ctr = 0; ctr < current_form.length; ctr++){ 

       if(msk_txt.test(current_form[ctr].name)){ 

if(current_form[ctr].value.itsWhitespace()){ 
        its_ok++ 
}else{ 
} 
if (current_form[ctr].name=="CAMPO1" && valores.indexOf(current_form[ctr].value)!=-1){
   campoValido=false;
  }
}    

} 
if (!campoValido){
   alert("El CAMPO no es válido");
   return;
}
if(its_ok == 0){ 
    // Enviamos el formulario 
    current_form.submit() 
}else{ 
    alert("Por favor rellene todos los campos ") 
} 
} 

//--> 
</script> 

</head> 
<body> 
<form action="formulario.php" method="post" name="form1" onsubmit="return false"> 
<input  type="text" name="CAMPO1" > 
<input  type="text" name="CAMPO2" > 
<input  type="text" name="CAMPO3" ><br> 
<input type="button" value="Enviar" onclick = "check_txt(this.form)"> 
</form> 
</body> 
</html> 
__________________
¿Te apasiona el mundo del guión? El portal del guión
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:48.