Foros del Web » Programando para Internet » Javascript »

impedir submit si no hay checkbox seleccionado

Estas en el tema de impedir submit si no hay checkbox seleccionado en el foro de Javascript en Foros del Web. Tengo un formulario que envía, además de otras cosas, una serie de checkbox'es generados dinámicamente. Estas simpáticas cajitas de selección se llaman "IDMuni". Lo que ...
  #1 (permalink)  
Antiguo 07/08/2003, 14:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
impedir submit si no hay checkbox seleccionado

Tengo un formulario que envía, además de otras cosas, una serie de checkbox'es generados dinámicamente. Estas simpáticas cajitas de selección se llaman "IDMuni".

Lo que me gustaría es algo que le diga al Sr. Formulario que, cuando se le dé por hacer un submit, verifique que al menos un integrante de su familia de simpáticas cajitas esté seleccionada. Además, que si no hay ninguna seleccionada le diga a papá browser que envíe un mensaje al visitante curioso y así alertarlo de su error.

Gracias
  #2 (permalink)  
Antiguo 07/08/2003, 14:08
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Yuujuu Daz..

estee.. todos los checkoxitos se llaman igual? IDMuni??
  #3 (permalink)  
Antiguo 07/08/2003, 14:22
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Si. Todos se llaman igual
__________________
...___...
  #4 (permalink)  
Antiguo 07/08/2003, 14:39
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
a ver si te sirve esto

Código PHP:
<script language="JavaScript">
function 
verifica(formu)
{
for (
m=0;formu.IDMuni.lengthm++)
    {
    if (
formu.IDMuni[m].checked == true)
        {
        return 
true
        
break;
        }
    }
alert('Debes escoger al menus un checkboxillo')
return 
false
}
</script> 
  #5 (permalink)  
Antiguo 07/08/2003, 14:58
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Gracias tunait. Funciona pero... luego del alert igualmente hace el submit. No lo detiene y la idea es detenerlo porque de lo contrario la página especificada en el action produce errores si no hay nada seleccionado.

la cagada es que no sé como hacerlo :\
__________________
...___...
  #6 (permalink)  
Antiguo 07/08/2003, 15:00
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
huy, en mi compu se detiene... deja que lo cheque de nuevo...
  #7 (permalink)  
Antiguo 07/08/2003, 15:04
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
pues es que lo he probado en explorer 5.0 y nescafé 7.0 y funciona correcto.

pruebalo aquí
  #8 (permalink)  
Antiguo 07/08/2003, 15:13
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
mmm... tal vez esté interfiriendo una función que se ejecuta al onclick de un botón... dejá que te preparo un poco de código y amplío la información a ver si es eso
__________________
...___...
  #9 (permalink)  
Antiguo 07/08/2003, 15:14
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
fale
  #10 (permalink)  
Antiguo 07/08/2003, 15:56
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Puff.. me demoré un poco.

A ver... es un formulario llamado Acciones cuyo action es "principal.asp?PID=bco_datos/salida".





Como ves en la imagen, hay tres botones. Cada uno de estos tiene asociada una función en su onclick para cambiarle los targetS y actionS (si corresponde). Las funciones son las siguientes:



Cita:
//este es del botón numerado 1
function eligeTarget() {
if (Acciones.Formato.value == "HTM") {
Acciones.target = "_blank"
Acciones.action = "bco_datos/salidaHTML.asp"
} else {
Acciones.target = "_top"
Acciones.action = "principal.asp?PID=bco_datos/salida"
}
}

//este es del botón numerado 2
function eligeAction() {
Acciones.target = "_top"
Acciones.action = "principal.asp?PID=bco_datos/grupos_crear&MM_insert=GrupoMuni"
}

//este es del botón numerado 3
function eligeAction2() {
Acciones.target = "_top"
Acciones.action = "principal.asp?PID=bco_datos/grupos_agregar"
}
Además, está esto para marcar o desmarcar todos los checkbox "de una" (aunque estimo que esto no estaría interfiriendo en nada):


Cita:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
for (i = 0; i < field.length; i++) {
field[i].checked = true;}
checkflag = "true";
return "Uncheck All"; }
else {
for (i = 0; i < field.length; i++) {
field[i].checked = false; }
checkflag = "false";
return "Check All"; }
}
// End -->
</script>

en rojo también marqué los checkboxes llamados IDMuni.
A ver si ahora cambia la historia?
  #11 (permalink)  
Antiguo 07/08/2003, 16:05
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Los tres botones de envío (ejecutar) que son, de tipo button no? o son submit?

me vendría bien ver el código de los botones y el tag de form
  #12 (permalink)  
Antiguo 07/08/2003, 16:23
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
okas, pero lo dejamos para mañana?
es que ya me estoy rajando de aquíiiiii!

besos
__________________
...___...
  #13 (permalink)  
Antiguo 07/08/2003, 16:42
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
uff sip, me viene fenomenal seguir mañana

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 08:22.