Foros del Web » Programando para Internet » Javascript »

Checkbox[]

Estas en el tema de Checkbox[] en el foro de Javascript en Foros del Web. Hola, Estoy con una web la cual debe disponer de un limite de selecciones de checkbox, en este caso 2 únicamente. El problema viene al ...
  #1 (permalink)  
Antiguo 02/02/2010, 10:59
Avatar de dART  
Fecha de Ingreso: enero-2009
Ubicación: Madrid
Mensajes: 246
Antigüedad: 15 años, 10 meses
Puntos: 7
Checkbox[]

Hola,

Estoy con una web la cual debe disponer de un limite de selecciones de checkbox, en este caso 2 únicamente.

El problema viene al recogerlos, o al limitarlos, según se mire. Lo recogo con PHP, pero el sistema que uso para limitarlo a 2, impide tener el name del checkbox del tipo que necesita tener en PHP para poder recoger los valores como arrays.

Resumo:
Código HTML:
<input name="nombrecheckbox[]" value="a" type="checkbox" id="a" />

<input name="nombrecheckbox[]" value="b" type="checkbox" id="b" />

<input name="nombrecheckbox[]" value="c" type="checkbox" id="c" /> 
Y se recogerían con php, pero claro, tengo el script:

Código:
function maxNumCheckbox(nombre, maximoCheckbox){
		for (var i=0; i<nombre.length; i++){
			nombre[i].onclick=function(){
			var num_chequeados=0;
			for (var i=0; i<nombre.length; i++)
				num_chequeados+=(nombre[i].checked)? 1 : 0
				if (num_chequeados>maximoCheckbox){
					alert("Lo sentimos, solo puede seleccionar "+maximoCheckbox+" opciones de forma gratuita");
					this.checked=false;
				}
			}
		}
	}
que es el encargado de impedirme seleccionar mas de 2 opciones. Pero luego lo llamo en el archivo.php así:

Código HTML:
<script type="text/javascript" language="javascript">
   maxNumCheckbox(document.forms.nombredelformulario.nombrecheckbox[], 2);
</script> 
Y ahi viene el problema, me da error de sintaxis al colocarle las [] al nombrecheckbox... pero es que sino, no puedo recogero en php al tener el mismo nombre... espero haberme explicado, cómo puedo hacerlo? Por favor echadme una manita!


Gracias de antemano compañeros.
  #2 (permalink)  
Antiguo 02/02/2010, 11:17
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Checkbox[]

Prueba esto:
Código Javascript:
Ver original
  1. maxNumCheckbox(document.forms.nombredelformulario["nombrecheckbox[]"], 2);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 02/02/2010, 11:28
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Checkbox[]

vaya que esto se ha discutido muchas veces. otra forma, tambien puede intentar con la funcion getElementsByName y le pasas como argumento un string con el nombre asignado al campo. en todo caso, tanto la funcion getElementsByName como la solucion que muestra David devuelven el mismo tipo de valor.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 03/02/2010, 02:14
Avatar de dART  
Fecha de Ingreso: enero-2009
Ubicación: Madrid
Mensajes: 246
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Checkbox[]

Cita:
Iniciado por David Ver Mensaje
Prueba esto:
Código Javascript:
Ver original
  1. maxNumCheckbox(document.forms.nombredelformulario["nombrecheckbox[]"], 2);

Perfecto David,
Un millón de gracias (:

Etiquetas: checkbox
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 10:45.