¿Hay alguna forma en que una página de formulario pueda detectar que después de responder el formulario y enviarlo, y luego REVISAR la página del formulario, el botón de envío ahora está DESHABILITADO ?
Nota importante: Si es un usuario diferente, el formulario puede ser respondido y enviado, si el MISMO usuario vuelve a visitar el enlace, el botón de enviar está DESHABILITADO.
¿Es esto posible usando HTML, CSS y JavaScript?
<form> <label for="fname">First name:</label><br> <input type="text" id="fname" name="fname" value="First Name"><br> <label for="lname">Last name:</label><br> <input type="text" id="lname" name="lname" value="Last Name"><br><br> <input type="submit" value="Submit"> </form>Si está tratando de lograr esta funcionalidad estrictamente del lado del cliente, puede almacenar si el usuario ha enviado el formulario en localStorage .
Por ejemplo, puede agregar un detector de eventos de submit al formulario que establece el estado enviado en verdadero en localStorage . En la carga de la página, recupere ese estado, verifique si es verdadero y, de ser así, cada vez que el usuario envíe el formulario, evite el envío del formulario.
Por ejemplo:
const form = document.querySelector('form') var isDisabled = !!localStorage.getItem('submitted'); form.addEventListener('submit', function(e){ if(isDisabled){ e.preventDefault(); alert("You have already submitted") } localStorage.setItem('submitted', true); })Demostración de JsFiddle: https://jsfiddle.net/Spectric/dowc1qea/
Tenga en cuenta, sin embargo, que dado que el cliente puede modificar localStorage , siempre puede establecer el estado en falso mediante programación y enviar el formulario nuevamente.