如何使用 FormHelper 或其他方法呈现单击时运行 javascript 的图像链接?
Posted
技术标签:
【中文标题】如何使用 FormHelper 或其他方法呈现单击时运行 javascript 的图像链接?【英文标题】:How can I by using the FormHelper ,or some other method, render an image link that runs javascript when clicked? 【发布时间】:2010-05-10 22:52:30 【问题描述】:背景:
我想渲染这个:
<a href="javascript:myfunction('Somevar')"><img src="some.png" border="0" /></a>
在 cakephp 应用程序中。注意:此链接根本与模型无关,它只是异地表单的一部分。
我不确定如何继续:我在 cakephp 网站上看到了this,但是 有了蛋糕上发生的所有事情,我不确定整个 javascript 调用业务。创建这样的东西的最佳方法是什么?
编辑:我正在使用 Cake 1.2。
【问题讨论】:
【参考方案1】:将Javascript函数作为第二个参数传递给htmlHelper::link
完全没有问题。这应该可以解决问题:
echo $html->link(
$html->image('some.png'),
"javascript:myfunction('Somevar')",
array('escape'=>false)
);
这会调用HtmlHelper::link
,传递一个图像(由HtmlHelper::image
生成)作为包裹<a />
的HTML,将Javascript 函数作为链接的动作,并通知Cake 不要转义您传递的HTML。
更新: 这是 Cake 1.2 的 sn-p:
echo $html->link(
$html->image('some.png'),
"javascript:myfunction('Somevar')",
null, null, false
);
HtmlHelper::link
的最后一个 false
参数指示 Cake 不要转义 HTML。
【讨论】:
我已经编辑了这个问题。我正在使用我应该指定的 cake 1.2。 我已经编辑了我的答案以提供 1.2 的代码 sn-p! HTH以上是关于如何使用 FormHelper 或其他方法呈现单击时运行 javascript 的图像链接?的主要内容,如果未能解决你的问题,请参考以下文章
使用 MouseUp 和 MouseDown 事件或其他方式模拟单击的最佳方法是啥?
BooleanField 复选框无法通过使用 bootstrap 的crispy_forms 正确呈现