У меня есть текстовое поле для отображения содержимого HTML из базы данных. Вот мой код:
<script type = "text/javascript">
//<![CDATA[
$('#cont').html('<?php echo $cont['0']['desc'];?>');
$('#name').html('<?php echo $cont['0']['name'];?>');
//]]>
</script>
<textarea name = "cont" id = "cont"></textarea>
<textarea name = "name" id = "cont"></textarea>
Когда я пытаюсь загрузить контент динамически, #name
работает отлично, но #cont
показывает консольную ошибку, например:
Uncaught SyntaxError: Invalid or unexpected token
Это контент, который я пытаюсь загрузить на #cont
.
<h3 style = "box-sizing: border-box; font-family: kozgopro-medium; font-weight: 500; line-height: 1.1; color: #014d7e; margin: 0px; font-size: 24px; padding: 5px 0px;">Coconut Oil</h3>
<h5 style = "box-sizing: border-box; font-family: kozgopro-medium; font-weight: 500; line-height: 1.1; color: #0091f0; margin: 0px; font-size: 16px; padding: 10px 0px 5px;">Extra Virgin / Premium</h5>
Спасибо за ответы
Как выглядит содержимое тега script
после заполнения PHP?
Помимо повторяющихся атрибутов id
, ошибка означает, что значение, которое вы выводите из PHP, содержит символ '
, который нарушает разделители строк. Вам нужно экранировать этот символ в PHP
спасибо Андерсон и Рори, я использую уникальный идентификатор. Я обнаружил, что проблема находится внутри моего html, у него есть "или" была создана такая проблема, как преодолеть эту
1. id
должен быть уникальным для каждого элемента
2. Вы также можете использовать атрибут name
в качестве селектора.
Итак, код должен быть: -
<script type = "text/javascript">
$('textarea[name=cont]').html('<?php echo addslashes($cont['0']['desc']);?>');
$('textarea[name=name]').html('<?php echo addslashes($cont['0']['name']);?>');
</script>
<textarea name = "cont"></textarea>
<textarea name = "name"></textarea>
Жестко запрограммированный рабочий фрагмент: -
$('textarea[name=cont]').html('hey how are you?');
$('textarea[name=name]').html('I am fine Man!');
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea name = "cont"></textarea>
<textarea name = "name"></textarea>
попробуйте вот так: - $('textarea[name=cont]').html('<?php echo addslashes($cont['0']['desc']);?>'); $('textarea[name=name]').html('<?php echo addslashes($cont['0']['name']);?>');
Идентификатор должен быть уникальным, никогда не должно быть двух
id = "cont"
.