Foros del Web » Programando para Internet » Javascript »

array de componentes de un form con dom

Estas en el tema de array de componentes de un form con dom en el foro de Javascript en Foros del Web. hola amigos estoy creando este select con dom como pueden ver el id lo utilizo para unas ocasiones especiales el detalle es que estoy metido ...
  #1 (permalink)  
Antiguo 02/03/2006, 13:25
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
array de componentes de un form con dom

hola amigos estoy creando este select con dom
como pueden ver el id lo utilizo para unas ocasiones especiales
el detalle es que estoy metido en el problema de validar,
como valido este objeto despues de dar un submit y que valide que no se vaya sin haber seleccionado(los n select creados)
algo.??

saludos
espero sus comentarios

aqui les muestro el codigo completo
http://chalchis.webcindario.com/Scripts/formulario.htm



var contenido_2_3=document.createElement("select");
contenido_2_3.name="lista_categoria[]";
contenido_2_3.id="lista_categoria"+c;
var lista="lista_articulos"+c;
contenido_2_3.onchange = function(){cambia(this.id,lista)};//esta funcion borra una tabla creada por este medio DOM
contenido_2_3.options[0] = new Option('', '');
contenido_2_3.className="areatx";
__________________
gerardo

Última edición por chalchis; 02/03/2006 a las 13:51
  #2 (permalink)  
Antiguo 02/03/2006, 14:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola chalchis:

La validación se hace igual que con cualquier componente, pero hace poco hemos descubierto que el atributo name hay que asignarlo con mayúsculas...

contenido_2_3.NAME="lista_categoria[]";

Espero que te sirva.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 02/03/2006, 14:17
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
quize hacer una funcion de validacion pero no funciona

hola caricatos gracias por responder
mira quise hacer esta funcion pero no funciona
function verificar(formulario)
{
var hayelementos=document.formulario.posicion.length;
alert(hayelementos);
if(hay==undefined)
{
if(document.formulario.lista_categoria.value=="")
{
alert("error selecione una categoria");
}
}
else
{
for(var y=0;y < document.formulario.posicion.length;y++)
{
if(document.formulario.lista_categoria[y].value=="")
{
alert("error selecione una categoria");
}
}
}


return(false);
}

simplemente no valida
Cita:
Iniciado por caricatos
Hola chalchis:

La validación se hace igual que con cualquier componente, pero hace poco hemos descubierto que el atributo name hay que asignarlo con mayúsculas...

contenido_2_3.NAME="lista_categoria[]";

Espero que te sirva.

Saludos
__________________
gerardo
  #4 (permalink)  
Antiguo 02/03/2006, 16:54
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
hola amigos encontre la manera de validar los componentes creados con dom

function verificar(formulario)
{
//select-one
var campos=document.forms.formulario.elements;
for (x=0;x<campos.length;x++)
{
//alert(campos[x].type);
if(campos[x].type=="select-one")
{
//alert(campos[x].id);
if(campos[x].value=="")
{
if(campos[x].name=="lista_categoria[]")
{
alert("debe elegir una categoria");
campos[x].focus();
break;
}

if(campos[x].name=="lista_articulos[]")
{
alert("debe elegir un articulo");
campos[x].focus();
break;
}

if(campos[x].name=="lista_proveedores[]")
{
alert("debe elegir un proveedor o seleccionar no especificar");
campos[x].focus();
break;
}
}
}

if(campos[x].type=="text")
{
if(campos[x].value=="")
{
if(campos[x].id=="txprecio")
{
alert("escriba el precio");
campos[x].focus();
break;
}

if(campos[x].id=="tximporte")
{
alert("escriba el importe");
campos[x].focus();
break;
}

if(campos[x].name=="txcantidad[]")
{
alert("escriba la cantidad a solicitar");
campos[x].focus();
break;
}
}
}

if(campos[x].type=="textarea")
{
if(campos[x].value=="")
{
if(campos[x].name=="txjustificado[]")
{
alert("motivo por el cual se esta pidiendo el insumo");
campos[x].focus();
break;
}
}
}

}




return(false);
}
__________________
gerardo
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:03.