Je suis dans une application mobile et j'utilise un champ de saisie pour que l'utilisateur envoie un numéro.
Quand je reviens en arrière et retourne à la page, ce champ de saisie présente le dernier numéro entré dans le champ de saisie.
Est-il possible d'effacer le champ à chaque chargement de la page?
$('#shares').keyup(function(){
payment = 0;
calcTotal();
gtotal = ($('#shares').val() * 1) + payment;
gtotal = gtotal.toFixed(2);
$("p.total").html("Total Payment: <strong>" + gtotal + "</strong>");
});
Vous pouvez effacer le champ de saisie en utilisant $('#shares').val('');
$(document).ready(function(){
$('#shares').val('');
});
Le réglage de val('')
vide le champ de saisie. Donc, vous utiliseriez ceci:
Effacez le champ de saisie lors du chargement de la page:
$(function(){
$('#shares').val('');
});
Lors de la soumission du formulaire, utilisez la méthode de réinitialisation sur le formulaire. La méthode reset () réinitialise les valeurs de tous les éléments d'un formulaire.
$('#form-id')[0].reset();
OR
document.getElementById("form-id").reset();
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset
$("#submit-button").on("click", function(){
//code here
$('#form-id')[0].reset();
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<form id="form-id">
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
<br><br>
<input id="submit-button" type="submit" value="Submit">
</form>
</body>
</html>
Puisque vous utilisez jQuery, pourquoi ne pas utiliser un déclencheur - reset :
$(document).ready(function(){
$('#shares').trigger(':reset');
});
si vous cliquez sur le bouton "retour", il a tendance à rester collé. Ce que vous pouvez faire, c'est lorsque le formulaire est soumis, effacez l'élément avant de passer à la page suivante, mais après avoir fait avec l'élément ce dont vous avez besoin.
$('#shares').keyup(function(){
payment = 0;
calcTotal();
gtotal = ($('#shares').val() * 1) + payment;
gtotal = gtotal.toFixed(2);
$('#shares').val('');
$("p.total").html("Total Payment: <strong>" + gtotal + "</strong>");
});