Foros del Web » Programando para Internet » Javascript »

Ayuda con Validacion

Estas en el tema de Ayuda con Validacion en el foro de Javascript en Foros del Web. Uso este script y va bien OK Código PHP: < SCRIPT LANGUAGE = "JavaScript" > function  FValidateControl3 ( control , nombre ) {   if ( control . value ...
  #1 (permalink)  
Antiguo 08/07/2003, 14:57
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
Ayuda con Validacion

Uso este script y va bien OK

Código PHP:
<SCRIPT LANGUAGE="JavaScript">
function 
FValidateControl3(control,nombre) {
  if (
control.value=="") {
    
alert(nombre+" es un campo requerido y debe ingresarse.")
    
control.focus()
    return 
false }
  return 
true }

function 
FSubmitValidation3(form) {
if (!
FValidateControl3(form.id_cliente,"Rut del Cliente")) return false
if (!FValidateControl3(form.ciudad,"Lugar de Despacho ")) return false
if (!FValidateControl3(form.producto,"Descripción del Producto")) return false
if (!FValidateControl3(form.contenido,"Contenido")) return false
if (!FValidateControl3(form.asistente,"Asistente")) return false
if (!FValidateControl3(form.nombre_cliente,"Nombre del Cliente")) return false
if (!FValidateControl3(form.moneda,"Moneda")) return false
if (!FValidateControl3(form.mercado,"Mercado")) return false
if (!FValidateControl3(form.destino,"Destino")) return false
return true }
</SCRIPT> 
despues continua un select + 4 text
asi
Nro Tintas
1
2
3
4

y cuatro text mas abajo
ahi se me complica como agrego a este script que anda de miedo lo sgte

al seleccionar 1 solo verifique un text (el primero)
y asi para el dos, el tres, el cuatro ......... lo hice combinando 2 script pero se me borran los datos del formulario y no sirve po

Help me...´please
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #2 (permalink)  
Antiguo 08/07/2003, 17:17
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Prueba asi:

Código PHP:
<SCRIPT LANGUAGE="JavaScript">
function 
FValidateControl3(control,nombre) {
  if (
control.value=="") {
    
alert(nombre+" es un campo requerido y debe ingresarse.")
    
control.focus()
    return 
false }
  return 
true }

function 
FSubmitValidation3(form) {
 var 
nTexts parseInt(form.selNumeroDeCombos.value10);
if (!
FValidateControl3(form.id_cliente,"Rut del Cliente")) return false
if (!FValidateControl3(form.ciudad,"Lugar de Despacho ")) return false
if (!FValidateControl3(form.producto,"Descripción del Producto")) return false
if (!FValidateControl3(form.contenido,"Contenido")) return false
if (!FValidateControl3(form.asistente,"Asistente")) return false
if (!FValidateControl3(form.nombre_cliente,"Nombre del Cliente")) return false
if (!FValidateControl3(form.moneda,"Moneda")) return false
if (!FValidateControl3(form.mercado,"Mercado")) return false
if (!FValidateControl3(form.destino,"Destino")) return false
for (var 0nTextsi++){
 
oCntrl document.getElementByName("Texto" String(i));
 if (!
FValidateControl3(oCntrl,"Texto" String(i))) return false
}
return 
true }
</SCRIPT> 
Estoy asumiendo que los 4 elementos restantes se llaman:
- selNumeroDeCombos: Combo con 4 elementos cuyos values dicen el número de texts requeridos.
- Texto1
- Texto2
- Texto3
- Texto4

Prueba y me dices.
  #3 (permalink)  
Antiguo 08/07/2003, 17:32
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
error
Linea 51
Código PHP:
oCntrl document.getElementByName("Texto" String(i)) 
el objeto no acepta la propiedad o este metodo

__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.

Última edición por dobled; 08/07/2003 a las 17:42
  #4 (permalink)  
Antiguo 08/07/2003, 17:43
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
¿Esta linea la tienes en su sitio?

var nTexts = parseInt(form.selNumeroDeCombos.value, 10);
  #5 (permalink)  
Antiguo 08/07/2003, 17:48
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
si hice un copy paste esta igual ..

una duda el select que valores le coloco |1|2|3|4| o nada??
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #6 (permalink)  
Antiguo 09/07/2003, 07:03
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
que será??
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #7 (permalink)  
Antiguo 09/07/2003, 08:51
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Disculpa dobled, pero creo que el error es que el ciclo está de cero a 3 y yo te pedí que nombraras tus texts como Text1...Text4.

Nombra tus texts a partir de Text0 y prueba.

Saludos.
  #8 (permalink)  
Antiguo 09/07/2003, 09:21
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
NOP sigue el error parece que es el objeto
Código PHP:
 oCntrl document.getElementByName("Texto" String(i)); 
a eso hace referencia
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #9 (permalink)  
Antiguo 09/07/2003, 09:38
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola dobled.

Pruébalo asi:

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   function 
FValidateControl3(control,nombre){
    if (
control.value==""){
     
alert(nombre+" es un campo requerido y debe ingresarse.");
     
control.focus();
     return 
false;
    }
    return 
true;
   }

   function 
FSubmitValidation3(form) {
    var 
nTexts parseInt(document.frm.selNumeroDeCombos[document.frm.selNumeroDeCombos.selectedIndex].value10);
    for (var 
0nTextsi++){
     
oCntrl document.getElementById("Texto" String(i));
     if (!
FValidateControl3(oCntrl,"Texto" String(i)))
      return 
false;
    }
    return 
true;
   }
  
</script>
 </head>
 <body>
  <form name="frm">
    <select name="selNumeroDeCombos">
     <option value="0"></option>
     <option value="1">1</option>
     <option value="2">2</option>
     <option value="3">3</option>
     <option value="4">4</option>
    </select><br>
   <input type="text" id="Texto0"><br>
   <input type="text" id="Texto1"><br>
   <input type="text" id="Texto2"><br>
   <input type="text" id="Texto3"><br>
   <input type="button" name="btn" value="Valida" onclick="FSubmitValidation3(document.frm)"> 
  </form>
 </body>
</html> 
Saludos.
  #10 (permalink)  
Antiguo 09/07/2003, 10:07
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
Funciona muy bien pero los demas campos que tengo arriba como los valido?

Trate de copiarlo al antiguo Script pero no Funciona
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #11 (permalink)  
Antiguo 09/07/2003, 10:10
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Pues igual...coloca el código donde estaba...

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   function 
FValidateControl3(control,nombre){
    if (
control.value==""){
     
alert(nombre+" es un campo requerido y debe ingresarse.");
     
control.focus();
     return 
false;
    }
    return 
true;
   }

   function 
FSubmitValidation3(form) {
    var 
nTexts parseInt(document.frm.selNumeroDeCombos[document.frm.selNumeroDeCombos.selectedIndex].value10);
////////////// DESDE AQUI
    
if (!FValidateControl3(form.id_cliente,"Rut del Cliente")) return false
    
if (!FValidateControl3(form.ciudad,"Lugar de Despacho ")) return false
    
if (!FValidateControl3(form.producto,"Descripción del Producto")) return false
    
if (!FValidateControl3(form.contenido,"Contenido")) return false
    
if (!FValidateControl3(form.asistente,"Asistente")) return false
    
if (!FValidateControl3(form.nombre_cliente,"Nombre del Cliente")) return false
    
if (!FValidateControl3(form.moneda,"Moneda")) return false
    
if (!FValidateControl3(form.mercado,"Mercado")) return false
    
if (!FValidateControl3(form.destino,"Destino")) return false
////////////// HASTA AQUI
    
for (var 0nTextsi++){
     
oCntrl document.getElementById("Texto" String(i));
     if (!
FValidateControl3(oCntrl,"Texto" String(i)))
      return 
false;
    }
    return 
true;
   }
  
</script>
 </head>
 <body>
  <form name="frm">
    <select name="selNumeroDeCombos">
     <option value="0"></option>
     <option value="1">1</option>
     <option value="2">2</option>
     <option value="3">3</option>
     <option value="4">4</option>
    </select><br>
   <input type="text" id="Texto0"><br>
   <input type="text" id="Texto1"><br>
   <input type="text" id="Texto2"><br>
   <input type="text" id="Texto3"><br>
   <input type="button" name="btn" value="Valida" onclick="FSubmitValidation3(document.frm)"> 
  </form>
 </body>
</html> 
Si no te funciona, publica por favor la llamada a tu función de validación (en mi caso, lo que tengo como el botón btn).

Saludos.
  #12 (permalink)  
Antiguo 09/07/2003, 11:24
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
Me funciono de Maravilla ahora se mezclan las validaciones OK

una ultima please .......

si tengo in select si o no
if select="SI" entonces

compruebo el campo
campo1
campo2
campo3
de lo contrario
chaop
es que no le pego na mucho a este tema de Javascript Sorry

__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #13 (permalink)  
Antiguo 09/07/2003, 13:58
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Usalo asi:

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">
   function 
FValidateControl3(control,nombre){
    if (
control.value==""){
     
alert(nombre+" es un campo requerido y debe ingresarse.");
     
control.focus();
     return 
false;
    }
    return 
true;
   }

   function 
FSubmitValidation3(form) {
    var 
sValida document.frm.selValidar[document.frm.selValidar.selectedIndex].value;
    if (
sValida == "Si"){
     var 
nTexts parseInt(document.frm.selNumeroDeCombos[document.frm.selNumeroDeCombos.selectedIndex].value10);
     for (var 
0nTextsi++){
      
oCntrl document.getElementById("Texto" String(i));
      if (!
FValidateControl3(oCntrl,"Texto" String(i)))
       return 
false;
     }
     return 
true;
    } else 
alert("chaop");
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   <select name="selNumeroDeCombos">
    <option value="0"></option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
   </select><br>
   <input type="text" id="Texto0"><br>
   <input type="text" id="Texto1"><br>
   <input type="text" id="Texto2"><br>
   <input type="text" id="Texto3"><br>
   ¿Valido las opciones?
   <select name="selValidar">
    <option value="Si">Si</option>
    <option value="No">No</option>
   </select><br>
   <input type="button" name="btn" value="Valida" onclick="FSubmitValidation3(document.frm)"> 
  </form>
 </body>
</html> 
Saludos.
  #14 (permalink)  
Antiguo 09/07/2003, 15:07
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
Funciono OK Gracias

Mira lo puse asi y me da un error miralo Please

Código PHP:
  <script language="JavaScript">
   function 
FValidateControl3(control,nombre){
    if (
control.value==""){
     
alert(nombre+" es un campo requerido y debe ingresarse.");
     
control.focus();
     return 
false;
    }
    return 
true;
   }
if (!
FValidateControl3(form.id_cliente,"Rut del Cliente")) return false
if (!FValidateControl3(form.ciudad,"Lugar de Despacho ")) return false
if (!FValidateControl3(form.producto,"Descripción del Producto")) return false
if (!FValidateControl3(form.contenido,"Contenido")) return false
if (!FValidateControl3(form.asistente,"Asistente")) return false
if (!FValidateControl3(form.nombre_cliente,"Nombre del Cliente")) return false
if (!FValidateControl3(form.moneda,"Moneda")) return false
if (!FValidateControl3(form.mercado,"Mercado")) return false
if (!FValidateControl3(form.destino,"Destino")) return false

if (!FValidateControl3(form.cant_items,"Cantidad de Items")) return false
if (!FValidateControl3(form.adj_info,"Descripción del Producto")) return false
if (!FValidateControl3(form.anula_re_prod,"Anula o Reemplaza Producto")) return false
if (!FValidateControl3(form.cant_cajas_pedido,"Cantidad de Cajas x Pedido")) return false
if (!FValidateControl3(form.proy_ventas,"Proyección de Ventas")) return false
if (!FValidateControl3(form.tol_despacho,"Tolerancia de Despacho")) return false
if (!FValidateControl3(form.envasado,"Envasado")) return false
if (!FValidateControl3(form.almacenamiento,"Almacenamiento")) return false

if (!FValidateControl3(form.largo_int,"Largo Interior")) return false
if (!FValidateControl3(form.ancho_int,"Ancho Interior")) return false
if (!FValidateControl3(form.alto_int,"Alto interior")) return false
if (!FValidateControl3(form.carton,"Carton")) return false
if (!FValidateControl3(form.tipo_caja,"Tipo de Caja")) return false
if (!FValidateControl3(form.tipo_item,"Tipo de Componente")) return false
if (!FValidateControl3(form.union_lateral,"Union Lateral")) return false
if (!FValidateControl3(form.lengueta,"Lengueta")) return false
if (!FValidateControl3(form.traslapo,"Traslapo")) return false
if (!FValidateControl3(form.recubrimiento,"Recubrimiento")) return false
if (!FValidateControl3(form.gap,"Gap")) return false
if (!FValidateControl3(form.jalador,"Jalador")) return false
if (!FValidateControl3(form.r_ptoflat,"Rayado Pto.Flat")) return false

if (!FValidateControl3(form.impresion,"Impresion")) return false
if (!FValidateControl3(form.porc_impresion,"Porcentaje de Impresion")) return false
if (!FValidateControl3(form.clise,"Clise")) return false
if (!FValidateControl3(form.tipo_clise,"Tipo de Clise")) return false
if (!FValidateControl3(form.nro_clise,"N° Clise")) return false

   
function FSubmitValidation3(form) {
    var 
sValida document.frm.impresion[document.frm.impresion.selectedIndex].value;
    if (
sValida == "Si"){
     var 
nTexts parseInt(document.frm.nro_tintas[document.frm.nro_tintas.selectedIndex].value10);
     for (var 
1nTextsi++){
      
oCntrl document.getElementById("Tinta" String(i));
      if (!
FValidateControl3(oCntrl,"Tinta" String(i)))
       return 
false;
     }

if (!
FValidateControl3(form.nro_cad,"N° CAD")) return false
if (!FValidateControl3(form.nro_matriz,"N° Matriz")) return false

    
} else

if (!
FValidateControl3(form.tipo_pallet,"Tipo Pallet")) return false
if (!FValidateControl3(form.obs,"Observaciones")) return false
    
return true;
   }
  
</script> 
quiero que se salte unos campos si digo no y si es si continue pero naaa
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.

Última edición por dobled; 09/07/2003 a las 15:11
  #15 (permalink)  
Antiguo 10/07/2003, 07:39
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
Ya lo resolvi ...

Muchas gracias te pasaste sin tu ayuda no estaria resuelto el problema




Son unos Maestros
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.

Última edición por dobled; 10/07/2003 a las 08:02
  #16 (permalink)  
Antiguo 10/07/2003, 09:35
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
¡Perfecto!!!

Saludos.
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 13:25.