Foros del Web » Programando para Internet » Javascript »

validar campos dinamicos

Estas en el tema de validar campos dinamicos en el foro de Javascript en Foros del Web. tengo el siguiente problema tengo unos campos q se gneran dinamicamante con php ej for ........ <input name="detalle1_<?php echo $i;?>"> .... con lo que por ...
  #1 (permalink)  
Antiguo 02/09/2005, 09:20
 
Fecha de Ingreso: agosto-2005
Mensajes: 25
Antigüedad: 18 años, 8 meses
Puntos: 0
validar campos dinamicos

tengo el siguiente problema

tengo unos campos q se gneran dinamicamante con php
ej
for ........
<input name="detalle1_<?php echo $i;?>">
....

con lo que por ejemplo quedarian 3 input con el nombre detalle1_1,detalle1_2 y detalle1_3 respectivamente

ahora los quiero validar en javascript
pero no se como si validara 1 a uno no habria problema


for( i=1;i<=n_campos;i++){
if (document.frm_ingresar_cotizacion.detalle1_1.value .length==0){
alert("Tiene que indicar el detalle.")
document.frm_ingresar_cotizacion.detalle1_1.focus( )
return 0;
}
}
pero si hago esto me da error :

for( i=1;i<=n_campos;i++){
campo='detalle1_'+i
if (document.frm_ingresar_cotizacion.campo.value.leng th==0){
alert("Tiene que indicar el detalle.")
document.frm_ingresar_cotizacion.campo.focus()
return 0;
}
}
la variable esta declarada y todo como lo puedo hacer?????
  #2 (permalink)  
Antiguo 02/09/2005, 12:12
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Código PHP:
for( i=1;i<=n_campos;i++)
{
  var 
campo 'detalle1_'+i;
  if (
document.forms["frm_ingresar_cotizacion"].elements[campo].value.length==0)
  {
     
alert("Tiene que indicar el detalle.");        
     
document.forms["frm_ingresar_cotizacion"].elements[campo].focus();
     return 
0;
  }

Lo mejor seria que tengas un arreglo. Con mayor razon si usas PHP.
Tendrias que definir algo asi:
Código HTML:
<input name="detalle[]" type="text"> 
  #3 (permalink)  
Antiguo 02/09/2005, 14:47
 
Fecha de Ingreso: agosto-2005
Mensajes: 25
Antigüedad: 18 años, 8 meses
Puntos: 0
ya lo resolvi muxas gracias por la ayuda!!!
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 14:12.