Показать сообщение отдельно
  #21 (permalink)  
Старый 11.08.2016, 19:41
Интересующийся
Отправить личное сообщение для taravasya Посмотреть профиль Найти все сообщения от taravasya
 
Регистрация: 07.04.2014
Сообщений: 13

Подскажите пожалуйста как правильно реализовать:
Есть страница сайта, данные которой выводятся с помощью PHP из MySQL(ну вообщем vBulletin).
Для возможности очень быстрого редактирования, прикрутил java-скриптик, который при двойном клике по элементу, с помощью PHP(Ajax), запрашивает и выводит в элемент содержимое в том виде, в каком оно хранится в БД и после этого присваивает элементу атрибут contenteditable. Соответственно, после редактирования на onblur, отправляет содержимое элемента, как текст, обратно в соответствующее поле таблицы в БД.
Вот сам скрипт:
function quickEditTag(editableID) {
	var $currentDlFile;
	var $currentDlFile = $("#dlfile_" + editableID);
	$currentDlFile.load("downloads_ajax.php?&ajaxedit=" + editableID);
	document.getElementById("dlfile_" + editableID).contentEditable = true;
	$currentDlFile.on('blur', function() {
		$.post(
		"/downloads_ajax.php?&ajaxedit=0",
			{
				dl2fileId: editableID,
				dl2filemessage: $currentDlFile.text()
			},
		onAjaxSuccess
		);
		function onAjaxSuccess(data)
		{
			//alert(data);
		}
		document.getElementById("dlfile_" + editableID).contentEditable = false;
	});
}

Код PHP не привожу, там в принципе всё стандартно(только непосредственно во время SET в MySQL проверяется и если надо конвертируется кодировка(а то заметил, что иногда возникают затыки с русскими символами)).
Всё работает зачемятельно, за исключением того, что после редактирования, при отправке назад в БД, игнорируются переносы строки. Не подскажите, как правильно "побороть" это?
Ответить с цитированием