Foros del Web » Programando para Internet » Javascript »

sbmit en formularios php

Estas en el tema de sbmit en formularios php en el foro de Javascript en Foros del Web. Buenos días: Tengo un formulario que sube datos y ficheros a una base de datos. Tarda algún tiempo en subir estos datos y el cliente ...
  #1 (permalink)  
Antiguo 02/11/2008, 02:35
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 3 meses
Puntos: 0
sbmit en formularios php

Buenos días:
Tengo un formulario que sube datos y ficheros a una base de datos.
Tarda algún tiempo en subir estos datos y el cliente se impacienta y dá varias veces al submit, con lo que se duplica la información.
Sabeís alguna manera de bloquear este button mientras se suben los archivos.

Gracias
  #2 (permalink)  
Antiguo 02/11/2008, 03:33
Avatar de Batusai  
Fecha de Ingreso: enero-2005
Ubicación: Málaga -Andalucía- España
Mensajes: 130
Antigüedad: 19 años, 3 meses
Puntos: 1
Respuesta: sbmit en formularios php

¿Y porqué no redireccionas la página automáticamente al pulsar en ese botón? Si lo mandas a otra página mientras se actualizan los datos no habría problema. Otra opción sería que lo que se sube a la base de datos no pueda duplicarse (con algún campo que sea clave primaria).
  #3 (permalink)  
Antiguo 02/11/2008, 06:34
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: sbmit en formularios php

Otra opcion seria utilizar un javascript para que reemplace el boton por el texto guardando por ejemplo, eso lo harias con el parametro de GetElementById

saludos
  #4 (permalink)  
Antiguo 02/11/2008, 13:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: sbmit en formularios php

Tema trasladado a Javascript.

Como te indican debes de usar Javascript para deshabilitar el botón submit.

Saludos.
  #5 (permalink)  
Antiguo 02/11/2008, 15:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: sbmit en formularios php

Hola:

Si el botón submit tiene por ejemplo name="submit" puedes en el tag form poner:

onsubmit="submit.disabled = true"

Si quieres que se vuelva a activar al recibir esos datos el gestor que tienes, puedes usar el objeto opener o parent (dependiendo de que se envío a un popup o un iframe) con el evento load del mismo.

Pero primero dinos si te sirve la solución...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 03/11/2008, 03:23
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: sbmit en formularios php

Gracias.
Voy a intentarlo con lo que dice Caricato, pués ya está redireccionado a otra página, pero hasta que no termina de cargar no redirecciona.

Creo que con la solución de caricato puede funcionar, pués no necesito que el cliente meta más datos después.
Gracias y un saludo
  #7 (permalink)  
Antiguo 03/11/2008, 10:31
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: sbmit en formularios php

Hola de nuevo:

Lo he inentado así, pero sigue activo el botÓN:

<form name="form1" action="<?php echo $editFormAction; ?>" method="POST"enctype="multipart/form-data"onsubmit="grabar.disabled = true"
>

Apenas entiendo de javascript, seguro que estoy metiendo la pata.

Podeís ayaudarme?.
Gracias
  #8 (permalink)  
Antiguo 07/11/2008, 13:49
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: sbmit en formularios php

trata de hacer algo asi, en el formulario pon esto

<form name="Frm1" method="post" action="login.php" onsubmit="return vali(this);"> //vali() es una funcion javascript que te paso mas abajo

el boton de submit tiene que tener esta identificacion
id="Texto_Submit"

por ultimo la funcion javascript es esta

function vali(frm) {

document.getElementById("Texto_Submit").innerHTML = "Guardando...";
return true;
}

Esto esta hecho con el formulario y el php dentro de un mismo archivo, si lo tienes separado solo cambia las referencias

saludos
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:09.