He intentado de muchas maneras desde varios hilos, pero fue en vano.
Tengo un código de formulario como este:
<div id="fVoucher"> <form id="myForm" name="login" action="$(link-login-only)" method="post" $(if chap-id) onSubmit="return doLogin()" $(endif)> <input type="hidden" name="dst" value="$(link-orig)" /> <input type="hidden" name="popup" value="true" /> <p class="px-3 pt-3 pb-1 font-semibold text-gray-500 text-md">Voucher Login</p> <div class="mx-3 "> <label class="flex flex-row justify-between space-x-2 justify-items-center"> <input name="username" type="text" value="$(username)" id="userVoucher" oninput="getValue()" class="block w-full h-10 px-3 bg-white border-gray-300 rounded-md shadow-sm bg-opacity-70 focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50" placeholder="Voucher" onpaste="return false;" /> <input name="password" type="hidden" id="passVoucher" class="block w-full h-10 px-3 bg-white border-gray-300 rounded-md shadow-sm bg-opacity-70 focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50" placeholder="Password" /> <button id="btn_submit" type="submit" class="px-3 font-semibold text-gray-500 rounded-md shadow-md bg-gradient-to-br from-yellow-200 to-yellow-400">Login</button> </label> </div> </form> </div>Este es el script que traté de eliminar del formulario de entrada después de hacer clic en enviar. Pero no funcionó.
<script type="text/javascript"> var reset = function(){ setTimeout(function(){ $('form')[0].reset(); },3000); } $('.btn_submit').on('click', function(){ reset(); }); </script>Al restablecer un formulario, debe apuntar al elemento del form .
Puedes hacerlo en línea como a continuación.
<button type="submit" onclick="this.form.reset();">Login</button>O bien, dentro de un controlador de eventos onClick.
document.getElementById("myForm").reset();O, (jQuery)
$('#myForm').trigger("reset");En lugar de borrar el formulario al hacer clic en el botón 'Iniciar sesión', creo que es mejor tener un botón separado como 'Borrar' / 'Restablecer' para restablecer el formulario. Es mucho más limpio de esta manera.
Estás seleccionando contra una clase y no una ID:
$('.btn_submit').on('click', function(){ reset(); });Nota:
<button id="btn_submit" type="submit"