呈现页面内的javascript不会呈现在YII呈现部分中

时间:2014-12-24 11:02:33

标签: javascript yii renderpartial

我正在尝试从我的控制器中呈现如下页面

$this->renderPartial("_ReservationDetails",array('rowarray'=>$rowarray,'CalendarID'=>$CalendarID),false,true);

在我的视图文件中,_ReservationDetails我有以下内容

....
...
<td>
     <button id="btnPrint" onclick="return PrintReciept();" class="btn btn-small" type="button">Print Reservation</button>
</td>
....

我在_ReservationDetails中编写了一个脚本,如下所示

<script>
   public function PrintReciept()
   {
      alert("I am here!");
      return false;
   }
</script>

但是当我点击PrintReservation按钮时,它会在控制台中抛出错误。 PrintReciept() is not defined

为什么会这样?

1 个答案:

答案 0 :(得分:0)

在onClick属性中,您说明onclick="PrintReciept();"

您的功能最好通过registerScript() method注册:

Yii::app()->clientScript->registerScript('script', "
  function PrintReciept()
  {
     alert('I am here!');
     return false;
  }
", CClientScript::POS_END);