私は、ユーザがキーを押すたびに、またはテキストエリア内に書き込むたびに、自分のデータベースにデータを保存するテキストエリアを持っています。私の問題は、誰かがキーを押すたびに繰り返される<p>
に「保存」のような成功メッセージを表示したいときに、同じメッセージを繰り返して1回だけ表示したいと思うことです。Keyup show success-message one time
可能であれば、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;
はどうもありがとうございました、いけないあなたは私のためにコーディングする必要がありますが、ちょうど私を導い:)
問題とは別に、このアプローチにさまざまな懸念があります。これは潜在的に頻繁に発火するだろう。このロジックをデバウンスして、毎回の*キーを発射しないようにすることができます。キーがシフトのようなものだったらどうしますか?値を変更しなかった別のキー(矢印キーは共通)?それらを無視する '入力'イベントがあります。第二に、何かをそこに貼り付けるとどうなりますか?それは異常値ですが、あなたのロジックはそれを処理しません。 – Taplar
それはあまりにも多くのAJAXリクエストです。ユーザーがもう入力しないことを決定した場合は、AJAX要求を2〜2回遅らせ、AJAX要求を送信します。 [この問題への回答](https://stackoverflow.com/questions/1909441/how-to-delay-the-keyup-handler-until-the-user-stops-typing) – Spectarion
私はあなたの両方に同意します、まだ学習者です、そして今、私は何か新しいことを学びました。病気は数秒間遅延を追加します。メッセージが保存されているかどうかに関係なく、死ぬまでの生存者の回答が表示されます。数秒後に「保存」されたメッセージも削除されますので、保存されているかどうかは分かりません。悪いことに、Ajaxリクエストの権利の直前に遅延を設定してください。あなたのおかげです。 – Asim