如何使用FormHelper或其他方法渲染单击时运行javascript的图像链接?

时间:2010-05-10 22:52:31

标签: cakephp

背景:

我想渲染一下:

<a href="javascript:myfunction('Somevar')"><img src="some.png" width="20" height="20" border="0" /></a>  

在cakephp应用程序中。注意:此链接根本不与模型相关联,它只是表格外部的一部分。

我不确定如何继续:我在cakephp网站上看过this但是 随着蛋糕的一切,我不确定整个JavaScript调用业务。什么是创造这种事物的最佳方式?

编辑:Cake 1.2就是我正在使用的。

1 个答案:

答案 0 :(得分:0)

将Javascript函数作为第二个参数传递给HtmlHelper::link完全没问题。这应该可以解决问题:

echo $html->link(
    $html->image('some.png'),
    "javascript:myfunction('Somevar')",
    array('escape'=>false)
);

这会调用HtmlHelper::link,将图像(由HtmlHelper::image生成)作为HTML包围<a />,Javascript函数作为链接的操作,并通知Cake不要转义你传递的HTML。

<强>更新
这是Cake 1.2的片段:

echo $html->link(
    $html->image('some.png'),
    "javascript:myfunction('Somevar')",
    null, null, false
);

false的最后HtmlHelper::link参数指示Cake不要转义HTML。