如何防止传入sfFormField :: renderRow()的html内容被转义?

时间:2011-12-07 00:29:24

标签: forms view symfony1

在symfony 1.4视图中,我试图在sfFormField::renderRow函数的“attributes”参数中传递一些html / javascript:

<?php echo $form['ownership_status_id']->renderRow(array('onFocus' => 'displayHelp("<p>help text</p>");'), 'Own/Rent')?>

不幸的是,当页面被渲染时,所有的javascript / html输出都被转义:

<select name="address[ownership_status_id]" onFocus="displayHelp(&quot;(&quot;&lt;p&gt;help text&lt;/p&gt;&quot;);" id="address_ownership_status_id">

我不清楚如何防止此内容被转义,有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

尝试将$ form变量转换为:

sfOutputEscaperGetterDecorator::unescape($form);

然后调用renderRow():

<?php echo $form['ownership_status_id']->renderRow(array('onFocus' => 'displayHelp("<p>help text</p>");'), 'Own/Rent'); ?>

答案 1 :(得分:0)

我必须使用它:

<?php echo sfOutputEscaperGetterDecorator::unescape($form['ownership_status_id']->renderRow(array('onFocus' => 'displayHelp("<p>help text</p>");'), 'Own/Rent')); ?>