Foros del Web » Programando para Internet » Javascript »

Problema con los checkbox

Estas en el tema de Problema con los checkbox en el foro de Javascript en Foros del Web. Hola a todos tengo un pequeña funcion en javascript <script language="javascript" type="text/javascript"> <!-- function confirma () { var i; var ischeck ; for (i=0;i<document.form.noticia.length;i++) { ...
  #1 (permalink)  
Antiguo 14/02/2006, 13:51
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
Problema con los checkbox

Hola a todos

tengo un pequeña funcion en javascript

<script language="javascript" type="text/javascript">
<!--
function confirma ()
{

var i;
var ischeck ;
for (i=0;i<document.form.noticia.length;i++)
{
if (document.form.noticia[i].checked)
{
ischeck = true;
break;
}
else
{
alert ("Para eliminar, debe seleccionar por lo menos una noticia");
break;
}
}

if (ischeck)
{
if (confirm("¿Esta Seguro que quiere eliminar?"))
{
document.form.submit();
}
else
{
return (false);
}
}

}
-->
</script>

y tengo unos checkbox que salen de una base de datos

<input name="noticia[]" type="checkbox" id="noticia[]" value="23">
<input name="noticia[]" type="checkbox" id="noticia[]" value="23">
<input name="noticia[]" type="checkbox" id="noticia[]" value="23">
<input name="noticia[]" type="checkbox" id="noticia[]" value="23">
<input name="noticia[]" type="checkbox" id="noticia[]" value="23">
<input name="noticia[]" type="checkbox" id="noticia[]" value="23">

Lo que pasa es que si le saco los corchetes [] funciona solo con el primero, pero si los pongo que generalmente lo hago asi no me funciona

me dice que document.form.noticia.length es nulo o no es un objeto , alguien sabe como lo puedo hacer

Saludos

Mauricio
  #2 (permalink)  
Antiguo 14/02/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:

Supongo que form es el nombre del formulario... si es así, te recomiendo que no te acostumbres a usar nombres que puedan confundirse con objetos (aunque te funcione, puede darte problemas en otras ocasiones)

Puedes probar con document.form["noticia[]"][i].checked

Dime si te vale.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 14/02/2006, 14:04
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
hola caricatos

no es con el document.form.noticia[i].checked que tengo problemas, si no con el

length, esto lo habia sacado de una pagina que tenia unos radios pero creo que con los checkbox podrian funcionar, si puedes dime como lo tendria q hacer saludos
  #4 (permalink)  
Antiguo 14/02/2006, 14:37
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
Estimados:


He cambiado la funcion de javascript y me funciona perfectamente, , pero el problema es que al nombre del checkbox no le puedo dejar "noticia" ya que lo toma una pagina php y no me lo toma como arreglo, si fuera posible dejarlo "noticia[]" seria perfecto ya que con eso puedo tomar el arreglo en el php y manupularlo a continuacion la funcion:


Código HTML:
function confirma(form) 
{
	var total = 0;
	var max = form.noticia.length;
	var ischeck;
	
	for (var idx = 0; idx < max; idx++) 
	{
		if (eval("document.form.noticia[" + idx + "].checked") == true) 
		{
		   ischeck=1; 
		   break;
		}
	}
	
	if (ischeck==1)	
	{
		 if (confirm("¿Esta Seguro que quiere eliminar?"))
		 {
		 	document.form.submit();
		 }
	
	}
	else
	{
		alert("Para eliminar debe seleccionar al menos una noticia");
	}
}
a continuacion los checkbox

<input name="noticia" type="checkbox" id="noticia" value="19">
<input name="noticia" type="checkbox" id="noticia" value="1">
<input name="noticia" type="checkbox" id="noticia" value="2">
<input name="noticia" type="checkbox" id="noticia" value="3">
<input name="noticia" type="checkbox" id="noticia" value="4">
<input name="noticia" type="checkbox" id="noticia" value="5">
  #5 (permalink)  
Antiguo 14/02/2006, 16:11
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
debo agradecer la ayuda de todos, en el foro de js, y php la funcion me resulto bien aunque no con todo lo que queria, pero en fin funciona perfecto ahi va

<script language="javascript" type="text/javascript">
<!--


function confirma(form)
{
var total = 0;
var ischeck;

var total = form.valores.value;

//alert(total);
for (var i= 0; i<total;i++)
{
//alert("document.form.noticia[" + i + "].checked");


if (eval(document.forms['form'].elements['noticia['+i+']'].checked) == true)
{
ischeck=1;
break;
}
}
if (ischeck==1)
{
if (confirm("¿Esta Seguro que quiere eliminar?"))
{
document.form.submit();
}

}
else
{
alert("Para eliminar debe seleccionar al menos una noticia");
}


}

-->
</script>


<input name="noticia[0]" type="checkbox" value="19">
<input name="noticia[1]" type="checkbox" value="1">
<input name="noticia[2]" type="checkbox" value="2">
<input name="noticia[3]" type="checkbox" value="3">
<input name="noticia[4]" type="checkbox" value="4">
<input name="noticia[5]" type="checkbox" value="5">


saludos

Gracias
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:28.