Я получил длинный текст, который мне удалось сохранить в моей базе данных (mysql). Я могу получить данные из базы данных на php, с этим тоже проблем нет. Чтобы поместить длинный текст в ckeditor,
function getDetails(text,did,title){// tersine replace işlemleri
// syntax hatamızı çözdük, şimdi textlerimizde bulunan quot; ları eskisi gibi " lara çevirelimconsole.log(text);
$("#editor").css("visibility","visible");
$("#info").css("visibility","visible");
ineditor = "<textarea class='ckeditor' name='editor1' cols='30' rows='10'></textarea>";
CKEDITOR.instances.editor1.setData(text);
$("#info").html(title);
$("#btnUpdate").attr("onclick","updateNews("+did+")");
}
это код, который я получаю длинный текст в качестве параметра текста. и я отправляю его с php следующим образом:
$text=json_encode($text);
$title= json_encode($title);
echo "\n<td id='text$rec[0]' ondblclick='imageClickNews($rec[0]1)' onclick='getDetails($text, $rec[0], $title)'>$rec[1]</td>
Используя onClick на <td>
Я думаю, что после некоторого пункта моего Длинного текста он не читает остальное. Что мне делать?
Спасибо
Я предлагаю вам больше думать о генерируемых HTML и JS, а не о PHP, когда речь идет о CKEditor. Я предлагаю вам выводить HTML как HTML, а не как переменную JavaScript, возможно, concider использует что-то вроде оказываемых и непроверенный HTML ниже — большое изменение, да, но я думаю, что оно того стоит:
<script>
function setDataTitleAndClickHandler(dataElementID, dataTitleID, thingID) {
var htmldata = $('#' + dataElementID).html();
var titledata = $('#' + dataTitleID).html();
$("#editor").css("visibility","visible");
$("#info").css("visibility","visible");
CKEDITOR.instances.editor1.setData(htmldata);
$("#info").html(titledata);
$("#btnUpdate").attr("onclick", "updateNews(" + thingID + ")");
}
</script>
<tr>
<td onclick="getDetails('foo-data', 'foo-title', 12345)">
<div id="foo-title">"It's a mad world" - Anon</div>
<div style="display:none;" id="foo-data">
<p>Content from DB to CKE via PHP.</p>
<p>"It's a mad world" - Anonymous.</p>
</div>
<p>Visible stuff here</p>
</td>
</tr>
<textarea class="ckeditor" name="editor1" cols="30" rows="10"></textarea>
<button id="btnUpdate">Update :D</button>
Преимущество здесь в том, что вам не нужно много думать о форматировании, а HTML-код самодостаточен, его легко отлаживать. Также этот шаблон легко повторяется и должен быть очень простым как для пространства имен, так и для рендеринга в PHP. Этот метод удовлетворяет вашей ситуации?
Это:
onclick='getDetails($text, $rec[0], $title)'
Встраивает php в javascript.
В JavaScript вы должны заключать строковые значения в двойные кавычки.
Так скажем, ваш $text == 'rabbit'
а также $title == 'fairy'
,
Вот что вы получаете в HTML:
<td onclick='getDetails( rabbit , 0, fairy )'...
Вот что ты должен есть в HTML, чтобы сделать это правильно:
<td onclick='getDetails( "rabbit" , 0, "fairy" )'
Таким образом, окончательный код PHP будет:
echo "\n<td id='text$rec[0]' ondblclick='imageClickNews($rec[0]1)' onclick='getDetails(\"$text\", $rec[0], \"$title\")'>$rec[1]</td>
И я не знаю о did
сделайте то же самое там, если это тоже текст.