Почему это дает мне сырой HTML? - PullRequest
1 голос
/ 13 июня 2010

Я использую Facebox, и когда я пытался изменить содержимое тега, он дает мне неформатированный HTML, но визуализированную форму, фрагмент кода:

jQuery('#facebox .content').html("<%= escape_javascript(render :partial => 'form')%>");

У кого-нибудь есть идеи по этому поводу? Большое спасибо.

Ответы [ 3 ]

0 голосов
/ 14 июня 2010

@ leomayleomay: Под рендером facebox я подразумевал команду, которая выводит facebox на экран (есть несколько способов сделать это с facebox)

Однако, если все, что вам нужно, это изменить содержимое отображаемого в данный момент фейсбокса, вы можете вызвать команду jQuery.facebox('some html');

Если это тоже не сработает, возможно, вы могли бы дать нам ссылку на страницу, где вы тестируете это

0 голосов
/ 20 сентября 2012

Это может быть старым, но это то, что у меня сработало

jQuery.facebox ('# {escape_javascript (render: частичный =>' index ')}'). Html ()

.html () в конце строки - это то, что на самом деле сделал. Без этого он рендерил сырой HTML ... Единственная проблема, с которой я сталкиваюсь сейчас - это то, что у части есть некоторый javascript, но он, скорее всего, не рендерится из-за функции escape_javascript. Я продолжу копать.

0 голосов
/ 13 июня 2010

Скорее всего, потому что HTML преобразуется в представление их сущностей, что дает вам необработанный вывод html.Я не рубиновый парень, но, возможно, функция escape_javascript делает это, как следует из названия.

В следующем примере кода jQuery следует, например, добавлять html, а не выводить необработанный вывод html:

$('#div').html($('#another_div').html());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...