Foros del Web » Programando para Internet » Javascript »

evitar oprimir 2 veces un boton de formulario.

Estas en el tema de evitar oprimir 2 veces un boton de formulario. en el foro de Javascript en Foros del Web. hola tengo un boton de un formulario que no puede ser oprimido 2 veces porque me causa problemas ya que me ejecutaria dos veces un ...
  #1 (permalink)  
Antiguo 24/06/2009, 06:35
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Desacuerdo evitar oprimir 2 veces un boton de formulario.

hola tengo un boton de un formulario que no puede ser oprimido 2 veces porque me causa problemas ya que me ejecutaria dos veces un proceso en asp.

le he puesto en el evento onclick document.form1.enviar.disabled=true;

y cuando lo oprimo lo deshabilita para no ser oprimido dos veces hasta ahi bien

pero me han dicho ke por alguna razon hay vecs ke se deja oprimir dos veces o varias veces porke se pega el sistema o si se cae se puede oprimir actualizar y envia la pagina 2 o mas veces entonces me dana todo.

hay alguna forma de evitar ese oprimir ese boton varias veces de otra forma?
la verdad no se si preguntar esto aqui o en el foro de ASP depende de cual sea la solucino o con javascript o con asp.
espero puedan colaborarme

gracias.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #2 (permalink)  
Antiguo 24/06/2009, 07:48
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: evitar oprimir 2 veces un boton de formulario.

Hola Lexus

Con javascript lo puede hacer, solo necesitas un contador. A groso modo algo como esto

Código javascript:
Ver original
  1. function funcion () {
  2. var cuenta=0;
  3.     if (tal cosa) {
  4.         alert ("aviso");
  5.         return (false);
  6.     }
  7.  
  8.     if (!cuenta == 0) {
  9.         alert("El proceso de enviado está en curso, por favor aguarda un instante");
  10.         return (false);
  11.     }
  12.  
  13.  
  14.     else
  15. cuenta++;
  16.         return (true);
  17. }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 24/06/2009, 07:51
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: evitar oprimir 2 veces un boton de formulario.

gracias lo probare y te comento.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #4 (permalink)  
Antiguo 24/06/2009, 07:56
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: evitar oprimir 2 veces un boton de formulario.

lo puse asi

Código:
 
function funcion () {
var cuenta=0;
 
    if (!cuenta == 0) {
        alert("El proceso de enviado está en curso, por favor aguarda un instante");
        return (false);
    }
 
 
    else
cuenta++;
        return (true);
}

y en el boton de enviar puse onclick="funcion()"

pero no me hace nada.. lo estoy haciendo mal?
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #5 (permalink)  
Antiguo 24/06/2009, 08:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: evitar oprimir 2 veces un boton de formulario.

Es que estás reiniciando el contador al iniciar la función. Por otro lado, también, con eso no se impide que el usuario actualice la página y envíe dos veces el formulario.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 24/06/2009, 08:12
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: evitar oprimir 2 veces un boton de formulario.

ok gracias por tu opinon entonces existe alguna otra opcion para evitar el envio de la pagina 2 veces? o depronto sera mejor preguntar en el foro de asp?
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #7 (permalink)  
Antiguo 24/06/2009, 08:19
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: evitar oprimir 2 veces un boton de formulario.

Que yo sepa, no se puede evitar del todo.

Puede resultar útil desde la página que procesa el formulario redireccionar nuevamente a la página del formulario o a otra página.

Lo que sí puedes hacer es del lado del servidor filtrar los datos y evitar que se ingrese duplicados.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 24/06/2009, 08:24
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: evitar oprimir 2 veces un boton de formulario.

voya intentar algo depronto con cookies.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #9 (permalink)  
Antiguo 24/06/2009, 08:41
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: evitar oprimir 2 veces un boton de formulario.

o al hacer clic en el boton que se deshabilite pero creo que con enter tambien se puede enviar
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #10 (permalink)  
Antiguo 24/06/2009, 08:45
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: evitar oprimir 2 veces un boton de formulario.

cierto tambein el enter es un problema
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #11 (permalink)  
Antiguo 24/06/2009, 11:59
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: evitar oprimir 2 veces un boton de formulario.

Hola

Si hablamos del lado del servidor, David ¿antes el grande? tiene razón en que lo que has de hacer es redireccionar a la misma página. Además puede usar una sesión con la ip del usuario para comprobar si ya se ha enviado el formulario

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 24/06/2009 a las 13:25
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:09.