2012-06-20 2 views
-2

У меня есть на моем сайте блоге, в который вы можете добавить комментарии. Дело в том, что когда вы нажимаете «добавить комментарий», есть запрос php-сервера для хранения комментария. Таким образом, страница снова загружается и прокручивается вверх. Есть ли способ javascript для поддержания фиксированной страницы при добавлении комментария?Использование javascript для исправления страницы?

Лучшие

+0

Вы можете добавить комментарий через AJAX, поэтому перезагрузка страницы никогда не произойдет. В качестве альтернативы вы можете использовать привязки в URL-адресе, чтобы перевести пользователя обратно (почти) на одно и то же место. – Matt

+0

u необходимо использовать AJAX – swapnesh

+0

Используйте AJAX, чтобы не перезагружать всю страницу, или не добавляйте javascript, который прокручивает страницу до нужной позиции после ее загрузки. – Matzi

ответ

2

Есть два способа сделать это:

1) использовать имя якоря после запроса URL-адрес из и сделать якорь с этим именем, чуть выше комментариев. Так перенаправить на страницу с именем якорный www.mysite.com/mypage.php#comments и объявления якорь в вашем HTML:

<a name="comments" /> 

, это откроет страницу с якорем йот элементом, расположенным в верхней части экрана.

2) отправил данные с помощью ajax на сервер и обновил комментарии при получении успешного вызова. Эта страница не нуждается в повторной загрузке и остается там, где она есть. Но немного больше работы. Шаг 1: создайте страницу php, которая обрабатывает запрос и сохраняет комментарий Шаг 2: добавьте javascript для вызова ajax и получите обратный вызов

Удачи!

0

Вы можете вызвать эту функцию на свой комментарий кнопкой мыши

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 "); 
     } 
    }); 
} 
+0

Только с jQuery ... – madflow

+0

@madflow naah u также может использовать JAVASCRIPT и AJAX ... я просто сделал немного немного;) – swapnesh

+0

Мне очень жаль - в вашем примере используется объект jQuery. То, что я имел в виду;) – madflow

1

Вы можете использовать cookies? У меня очень похожая проблема, но в отношении текстового поля. Где, нажав «Сохранить» (и, таким образом, перезагружая веб-страницу), он всегда начинался с первой строки, а не с той, где я закончил редактирование.

Решение заключалось в том, чтобы нанять печенье. Когда пользователь нажимал «Сохранить», простой код JavaScript записывал cookie с позицией в редакторе, где находился курсор. Затем, после перезагрузки, другой простой JavaScript прочитает этот файл cookie и вернет курсор в последнюю позицию.

Возможно, вы сможете адаптировать это решение в соответствии с вашими потребностями?

+0

Это звучит интересно. Благодаря ! – Newben

Смежные вопросы