Tengo una página para publicar comentarios a través de un form: A veces los usuarios se ponen impacientes y pulsan dos o tres veces el botón submit del form y el contenido se publica repetido dos o tres veces. ¿cómo puedo evitar esto?
Gracias
| ||||
Hola mrgubu Puedes utilizar JavaScript para deshabilitar el botón cuando se envíe el formulario: <form action="tupagina.asp" onsubmit="enviar.disabled=true"> <input type="submit" name="enviar" /> Saludos, |
| ||||
pero el formulario tiene otro js para validar campos vacíos, de forma que si el usuario hace click en el send con un campo vacío no sólo le da el menaje de que tiene que rellenar obligatoriamente dicho campo, sino que además ya no puede enviar el form porque está inhabilitado. |
| ||||
Estoooo.... me estoy haciendo un lío como siempre conlos return true y los return false. Javier B podrías explicarme como insertar el disabled en el form que actualmente tengo: <SCRIPT type="text/javascript" ><!-- // function form_validator(theForm) { if(theForm.mensaje_autor.value == "") { alert("El campo Nombre no puede estar vacío"); theForm.mensaje_autor.focus(); return(false); } if(theForm.mensaje_body.value == "") { alert("El campo Cuerpo no puede estar vacío"); theForm.mensaje_body.focus(); return(false); } return (true); } // --> </SCRIPT> <form method="POST" action="insertcoment.asp" name="formulario" onSubmit="return form_validator(this);"> Autor: <input type="text" name="mensaje_autor"> Email: <input type="text" name="mensaje_email"> Titulo:<input type="text" name="mensaje_tit"> Comentario:<textarea class="TextBox" name="mensaje_body" ></textarea> <input type="submit" class="Boton1" value="Enviar" id="submitButton"> </form> Gracias |
| ||||
No problem:
Código:
Saludos, if(theForm.mensaje_body.value == "") { alert("El campo Cuerpo no puede estar vacío"); theForm.mensaje_body.focus(); return(false); } document.getElementById('submitButton').disabled = true; return (true); } // --> </script> |