Используя PHP и MySql, я пытаюсь реализовать этот довольно привлекательный редактор на месте:
учебник:
http://www.davehauenstein.com/code/jquery-edit-in-place/
js файл:
http://davehauenstein.com/code/scripts/jquery.inplace.min.js
ОК, что происходит,
- Я щелкаю элемент, чтобы редактировать текст.
- Я очищаю старый текст и вводю новый.
- Я щелкаю за пределами элемента, чтобы запустить Ajax, чтобы сохранить новый текст.
- Ajax показывает «Saving ..», который является текстом по умолчанию для обновления элемента.
- Новый текст обновляется в базе данных.
- Элемент перезагружается, и вместо отображения нового текста внутри элемента отображается элемент (Нажмите здесь, чтобы редактировать текст), который является текстом по умолчанию в файле js для элемента, который возвращает пустой.
Проблема: только один раз, когда я обновляю страницу вручную, новый текст загружается в элемент. Вместо загрузки в элемент без обновления.
Элемент с редактированием на месте:
<div class="editme1"><?php
$content = $_GET['update_value'];
// i added this to try and get the updated value but im
// not really sure, just a guess. i have also used $_POST
// in an attempt to catch it....but i feel stupid even
// saying that..lol
if(!empty($content)) { echo "$content"; } else
{ echo "$row[profilevalue_8]"; }
?></div>
Файл (update.php), который обновляет базу данных:
<?php include('includes/config.php');
include('includes/functions.php');
$name = $_POST[update_value];
$update = mysql_query("UPDATE profilevalues SET profilevalue_8 = '".$name."'
WHERE profilevalue_user_id = '".uid()."'") or die(mysql_error());
?>
JavaScript
<script type="text/javascript">
$(document).ready(function(){
$(".editme1").editInPlace({
url: "http://www.mysite.com/update.php",
params: "ajax=yes",
});
</script>
Думаю, проблема в том, что я не могу отразить изменения в элементе, как ожидалось.
Буду очень признателен за любую помощь.
Спасибо