2012-02-22 79 views
1

注册功能时,当我定义的Yii视图函数的Yii:萤火虫控制台(没有定义函数),使用clientscript

Yii::app()->clientScript->registerScript('jqeury5', 
    "function fn(){ alert('hello'); }" 
); 

然后尝试调用它,萤火说,“FN不定义“当我按下按钮。

<input type="button" value="Display alert box in 3 seconds" 
onclick="fn()" /> 
+0

您似乎在脚本中有语法错误 - “funciton fn(){alert('hello');}” 您不需要额外的“);” – 2012-02-22 19:35:19

+0

嘿,你有没有检查我的解决方案?如果你不介意,请给我一些反馈。我想知道它是如何为你工作的,或者如果你期待别的东西。 AFAIK它应该工作,它已经过测试! – 2012-02-24 03:39:30

+0

@ mukeshSoni,啊,对不起,这只是我在写这个问题时的错字。谢谢:) – 2012-02-26 14:29:53

回答

3

把功能在<head>一部分,或所生成的HTML文档的<body>一部分。使用registerScript()函数的第三个参数。
所以,你的代码将是:

Yii::app()->clientScript->registerScript('jqeury5', " 
    function fn(){ 
     alert('hello'); 
    }",CClientScript::POS_HEAD); 

有关详细信息阅读api documentation here

P.S:我想默认情况下脚本插入在jQuery的ready函数中。因此该功能未被检测到。

+1

让我知道如果你需要任何澄清 – 2012-02-23 03:15:36

+1

得到它,这是第三个参数!非常感谢:) – 2012-02-26 14:26:26

+0

好的,多数民众赞成在.. .. – 2012-02-26 14:57:02