私のサイトには、コメントを追加できるブログページがあります。「コメントを追加」をクリックすると、コメントを保存するためのphpサーバーリクエストがあります。そのため、ページが再度読み込まれ、一番上までスクロールします。コメントを追加するときにページを修正して維持するためのJavaScriptの方法はありますか?
一番
私のサイトには、コメントを追加できるブログページがあります。「コメントを追加」をクリックすると、コメントを保存するためのphpサーバーリクエストがあります。そのため、ページが再度読み込まれ、一番上までスクロールします。コメントを追加するときにページを修正して維持するためのJavaScriptの方法はありますか?
一番
これを行うには2つの方法があります。
1)ページのURLリクエストの後にアンカー名を使用し、コメントのすぐ上にその名前でアンカーを作成します。したがって、アンカー名がwww.mysite.com/mypage.php#commentsのページにリダイレクトし、HTMLにアンカーを追加します。
<a name="comments" />
、これにより、アンカーdom要素が画面の上部に配置されたページが開きます。
2)ajaxを使用してデータをサーバーに送信し、成功したコールバックを取得するときにコメントを更新します。ページはそのようにリロードする必要はなく、現在の場所にとどまります。しかし、もう少し作業が必要です。ステップ1:リクエストを処理してコメントを保存するphpページを作成しますステップ2:javascriptを追加してajax呼び出しを行い、コールバックを取得します
幸運を!
クッキーは使えますか?非常によく似た問題がありますが、テキストボックスに関してです。ここで、[保存]をクリックした後(したがってWebページをリロードした後)、編集を終了した行ではなく、常に最初の行から開始しました。
解決策はクッキーを雇うことでした。ユーザーが[保存]をクリックすると、単純なJavaScriptコードが、カーソルがあったエディター上の位置でCookieを書き込んでいました。次に、リロード後、別の単純なJavaScriptがそのCookieを読み取り、カーソルを最後の位置に戻します。
たぶん、あなたはこのソリューションをあなたのニーズに適応させることができますか?
コメントボタンをクリックすると、この関数を呼び出すことができます
function FUNCTIONNAME() {
$.ajax({
type: "POST",
url: "YOUR METHOD NAME WHICH IS CALLED",
data: "{PARAMETER VALUES TO BE PASSED}",
contentType: "application/json; charset=utf-8",
dataType: "json",
complete: function () {
},
success: function (msg) {
alert("YOUR SUCCESS MESSAGE HERE");
},
error: function (msg) {
alert("Error ");
}
});
}