Foros del Web » Programando para Internet » Javascript »

Evitar múltiples clicks en boton de formulario

Estas en el tema de Evitar múltiples clicks en boton de formulario en el foro de Javascript en Foros del Web. Hola a todos... mis saludos... Ahora al tema, tengo un formulario de envio de fotos a un mail... lo que quiero es evitar que se ...
  #1 (permalink)  
Antiguo 06/06/2007, 15:43
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 18 años, 2 meses
Puntos: 0
Evitar múltiples clicks en boton de formulario

Hola a todos... mis saludos...
Ahora al tema, tengo un formulario de envio de fotos a un mail... lo que quiero es evitar que se puedan hacer múltiples clicks en el boton "enviar" logicamente para evitar que se envien varios mails de lo mismo si el usuario hace varios clicks en dicho boton... ya hice esto: onclick="this.disabled=1; this.form.submit();"... funciona bien, el unico problema es que como tengo un limitador de tamaño en el form, cuando sobrepasa el tamaño indicado aparece la ventanita con el mensaje que dice "el total no debe superar los xMb" con el boton aceptar. Al aceptar esa ventana, vuelve al formulario (sin borrar nada por supuesto, de modo a que el usuario no tenga que escribir de vuelta todo, tan solo eliminar alguna que otra imagen para lograr adecuarse al límite) pero el boton de enviar ya queda deshabilitado. He probado mucho y no encuentro la solución.
  #2 (permalink)  
Antiguo 06/06/2007, 16:41
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 2 meses
Puntos: 45
Re: Evitar múltiples clicks en boton de formulario

Tendrás que poner la función si necesitas esa ayuda.

Normalmente deberías validar, y si da como resultado correcto, enviar y deshabilitar, y si da resultado incorrecto hacer un focus al campo que esté mal, y no hacer nada más.

¿No es más fácil esa solución?
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 07/06/2007, 14:07
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Evitar múltiples clicks en boton de formulario

si... pero validar el tamaño se hace del lado servidor... o sea, tiene que darle a enviar, que vayan los archivos y alli el server comprueba que no pasen el tamaño e informa al cliente. El problema es que no se puede validar del lado del cliente porque no se puede manipular archivos de esa forma segun tengo entendido (creo que con flash se puede, pero es otro tema y no tenemos mucho tiempo para aprender ahora actionscript)... si alguien sabe como tener acceso al tamaño de los archivos del lado del cliente antes de enviar con javascript queme lo diga por favor
  #4 (permalink)  
Antiguo 07/06/2007, 14:35
Avatar de demiurgo_daemon  
Fecha de Ingreso: diciembre-2006
Ubicación: Querétaro
Mensajes: 184
Antigüedad: 18 años
Puntos: 2
Re: Evitar múltiples clicks en boton de formulario

Hola,

creo que esto te debe servir:

para este código, el <form> tiene id='forma1' y el botón de enviar tiene id='enviar'
la función que usas para validar tamaño la llamé validar(), a falta de un mejor nombre :P

Código:
function revisar(){
	var forma = document.getElementById('forma1');
	var boton = document.getElementById('enviar');
	boton.disabled = true;
	if(!validar()){
		boton.disabled = false;
		return false;
	}
	else return true;
y luego...

Código HTML:
<form id='forma1' method='cualquiera' action='cualquiera' onsubmit='revisar()'>
	<!--tu forma-->
</form> 
otro detalle importante es que tu funcion de validación evidentemente debe regresar un booleano (true/false)

otra forma de hacerlo sería onclick="this.disabled=1; if(!validar()) this.disabled=0; else this.form.submit();" pero creo que sería impráctico y altamente inaccesible

saludos
  #5 (permalink)  
Antiguo 07/06/2007, 18:57
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Evitar múltiples clicks en boton de formulario

aun me permite hace multiples clicks... el problema, como habia dicho, es que la validacion del tamaño se hace en el server, no en el cliente, ya que utilizo php...
  #6 (permalink)  
Antiguo 08/06/2007, 13:58
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Evitar múltiples clicks en boton de formulario

voy a dar mas informacion, el problema es que cuando comprueba en el server que las imagenes que se quieren enviar sobrepasan los 2M, aparece el mensaje en el cliente al respecto y hace un self.history.back... por eso ya queda deshabilitado el boton
  #7 (permalink)  
Antiguo 08/06/2007, 19:09
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 2 meses
Puntos: 45
Re: Evitar múltiples clicks en boton de formulario

En vez de hacer self.history.back puedes cambiar la self.location para mandarle a la página donde esté el formulario.. y si quieres que se guarden los campos del formulario, puedes pasarlos por URL, guardarlos en cookies, o en variables de sesion PHP...
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #8 (permalink)  
Antiguo 08/06/2007, 19:20
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 10 meses
Puntos: 88
Re: Evitar múltiples clicks en boton de formulario

irrumpo el tema, para felicitarle Amigo Derkenuke, felicidades amigo, buen nombramiento
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra

Última edición por Shiryu_Libra; 08/06/2007 a las 20:24
  #9 (permalink)  
Antiguo 08/06/2007, 19:49
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 2 meses
Puntos: 45
Re: Evitar múltiples clicks en boton de formulario

Muchas gracias Shiryu_Libra!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #10 (permalink)  
Antiguo 09/06/2007, 09:59
 
Fecha de Ingreso: octubre-2006
Mensajes: 18
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Evitar múltiples clicks en boton de formulario

Gracias darkenuke por tu interes! Era lo que me estaba temiendo la solucion... no queda otra... queria un medio alternativo a ello para no tener que recargar la pagina... pero si, es lo unico...
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 18:48.