У меня есть текстовая область, которая сохраняет данные в моей базе данных каждый раз, когда пользователь нажимает клавишу или пишет в текстовой области. Моя проблема в том, что, когда я хочу показать сообщение об успехе, как «сохранено» в <p>
он повторяется каждый раз, когда кто-то нажимает клавишу, я хочу, чтобы он неоднократно отображал одно и то же сообщение, но только один раз.
Если возможно, можете удалить «сохраненное» сообщение об успешном завершении через 10 секунд.
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;
Большое спасибо, вам не нужно писать код для меня, а просто направлять меня 🙂
Изменить:-
$('#message').append('Saved');
чтобы: —
$('#message').html('Saved');
Заметка:- append()
добавили новые данные в существующий элемент внутри элемента, поэтому было показано несколько успешных сообщений.
В то время как html()
сначала удалит старые данные из элемента, а затем добавит новый. Так что повторения не будет.
Пожалуйста, постарайтесь прочитать все комментарии под вашим постом и попытаться реализовать их для улучшения. Особенно не посылая вызов ajax при каждом нажатии клавиши. Это сломает вашу систему в какой-то момент времени.
Других решений пока нет …