#javascript #php #jquery #jeditable
#javascript #php #jquery ( jquery ) #настраиваемый
Вопрос:
Я использую следующее, чтобы создать текстовое поле с параметрами «Ок» и «Отмена» для ввода нового текста:
$('.edit_area.entry').first().editable('ajax-save-entry.php', {
type : 'textarea',
cancel : 'Cancel',
submit : 'OK',
indicator : '<img src="img/indicator.gif">',
tooltip : 'Click to edit...'
});
У меня есть это в html:
'<div id="' . $system->systemID . '" class="edit_area entry">' . $system->description . '</div>'
Это ajax-save-entry.php:
<?php
if(isset($_POST['id'])){
$system = System::find_by_id($_POST['id']);
if($system){
$system->description = $_POST['value'];
$system->save();
echo $system->description;
} else {
echo "Cannot find a system with that system ID";
}
} else {
echo "No system ID is set";
}
?>
Я могу ввести текст и отменить его, но нажатие кнопки «Ок», похоже, ничего не дает. Я не уверен, что php-код не запущен или он останавливается перед этим. Есть какие-нибудь идеи?
РЕДАКТИРОВАТЬ: я использую этот плагин.
Ответ №1:
Если бы вы могли сказать нам, какой плагин вы используете, это было бы оптимально. Я предполагаю, что вы говорите о this one
том, что это самый популярный / стандартный (я думаю).
В любом случае, вам не хватает функции обратного вызова для фактической обработки того, что вы передаете на свою страницу php.
$('.edit_area.entry').first().editable('ajax-save-entry.php', {
type : 'textarea',
cancel : 'Cancel',
submit : 'OK',
indicator : '<img src="img/indicator.gif">',
tooltip : 'Click to edit...',
callback : function(data) {
//the data variable will be whatever your php script echoed
}
});
Комментарии:
1. Я добавил эту функцию, но, похоже, она по-прежнему не работает… Как я могу проверить, какой плагин я использую? Я работаю с чужим кодом, поэтому я не выбирал тот, который используется.