Esta puede ser una de las preguntas más simples. Sin embargo, no puedo entenderlo.
Tengo un botón en un formulario:
<button id='button' type="submit" class="btn" >Submit</button>En el envío del formulario, me gustaría cambiar "Enviar" a "Comprobación" porque mi comprobación de envío tarda de 1 a 2 segundos en finalizar. Así que intenté hacer eco de lo siguiente (ubicado al comienzo de mi form_submission.php):
echo "<script type='text/javascript'> var el = document.getElementById('button'); el.firstChild.data = 'Checking Inquiry'; </script>";Sin embargo, no hace nada. ¿Alguien puede ayudar?
EDITAR:
Verificación PHP:
if (isset($_POST['email']) && $_POST['email'] != '') { $message_sent = true; } else { $message_sent = true; $invalid_class_mail = "form-invalid"; }En HTML:
<?php if($message_sent): ?> <h3> We've revieced your inquiry! </h3> <?php else: ?> <form .....> <div class="form-group"> <label for="email" class="form-label">Your Email *</label> <input <?= $invalid_class_mail ?? "" ?> type="email" class="form-control" id="email" name="email" placeholder="jane@doe.com" tabindex="2" required> </div> ... </form>Puede usar la propiedad innerText de un elemento HTML para cambiar su contenido.
Puedes simplificar así.
document.getElementById('button').innerText = 'Checking Inquiry';También debe escuchar el evento de envío en el formulario o el evento de clic de botón .
(cuando el formulario tiene en id el atributo id='form'
document.getElementById('form').addEventListener( 'submit', () => document.getElementById('button').innerText = 'Checking Inquiry' ); document.getElementById('button').addEventListener( 'click', (e) => e.target.innerText = 'Checking Inquiry' );