J'ai une zone de texte qui enregistre les données dans ma base de données chaque fois que l'utilisateur appuie sur une touche ou écrit dans la zone de texte. Mon problème est que quand je veux montrer un message de succès comme "sauvé" dans un <p>
il se répète chaque fois que quelqu'un frappe une clé, je veux montrer à plusieurs reprises le même message sous mais seulement une fois.Keyup show success-message une fois
Si possible, supprimer le message "sauvegardé" après 10 secondes.
HTML:
<div class="form-group">
<label for="comment">Kommentar:</label>
<textarea class="form-control" rows="5" id="comment" name="comment"></textarea>
<p name="message" id="message"></p>
jQuery:
$("#comment").keyup(function(){
var isTyping = $('#comment').val();
var data = 'result=' + isTyping;
$.ajax({
type: 'POST',
url: "commentsave.php",
data: data,
cache: false,
success: function(html){
$('#message').append('Saved');
}
});
});
PHP:
$name = $_POST['result'];
echo $name;
Merci beaucoup, vous ne avez pas besoin de code pour moi, mais juste me guider :)
Diverses préoccupations avec cette approche en dehors de votre problème. Cela va potentiellement tirer fréquemment. Vous pouvez vouloir annuler cette logique afin de ne pas tirer sur * chaque * touche. Aussi, que faire si la clé était comme le changement? Ou une autre clé qui n'a pas changé la valeur (les touches fléchées sont communes)? il y a un événement 'input' qui ignore ceux-là. Deuxièmement, que faire si je colle quelque chose là-dedans? C'est une valeur aberrante, mais votre logique ne peut pas gérer cela. – Taplar
C'est beaucoup trop de demandes AJAX. Retarder la requête AJAX pendant une seconde ou deux, si l'utilisateur décide de ne plus taper, puis envoyer la requête AJAX. [Répondre à ce problème] (https://stackoverflow.com/questions/1909441/how-to-delay-the-keyup-handler-until-the-user-stops-typing). – Spectarion
Je suis d'accord avec vous deux, encore un apprenti et maintenant j'ai appris quelque chose de nouveau. Ill ajouter un délai de quelques secondes la réponse par Alive à mourir sera de toute façon montrer si le message a été enregistré ou non, je supprime le message "enregistré" après quelques secondes aussi afin que l'utilisateur ne sera pas confus si son sauvé ou non. Ill juste définir un délai juste avant ajax demande à droite. Merci à vous deux – Asim