По сути, когда ваш PHP-код отображается на сервере, он анализирует все, что находится между <?php ?>
.Поэтому, когда ваш код рендерится, он получит что-то вроде
$(document).ready(function() {
$("div#wrapper").append('<div id="dialog" title="Add new blog">' + <form></form> + '</div>');
});
Обратите внимание, что полученный код JS имеет элемент <form></form>
, который не заключен в кавычки.Это приводит к ошибке «неопределенный строковый литерал».
Чтобы исправить это, вам просто нужно заключить эту вещь в кавычки, например
$("div#wrapper").append(
'<div id="dialog" title="Add new blog">' + '<?php $this->form->render(); ?>' + '</div>'
)
В качестве альтернативы, вы можете поместить PHP в вашСтрока JS:
$("div#wrapper").append(
'<div id="dialog" title="Add new blog"><?php $this->form->render(); ?></div>'
)