我想在Window.open
函数上调用一个Action。
我认为这是:
$this->Html->link(
$this->Html->image('icon-picture.png', array('alt' => 'fotos', 'class'=>'link-fotos', 'onClick' => "window.open('".$this->Html->url(array('controller' => 'Pedidos' ,'action'=>'exibeFotos'))."', 'Pagina', 'STATUS=NO, TOOLBAR=NO, LOCATION=NO, DIRECTORIES=NO, RESISABLE=NO, SCROLLBARS=YES, TOP=10, LEFT=10, WIDTH=770, HEIGHT=400')", 'id' => 'dialogFotos')),
array('escape' => false));
但结果是:
我不明白我做错了什么。语法?
答案 0 :(得分:2)
options数组必须是$this->Html->link()
中的第三个参数。您将其作为第二个参数传递,因此无法正确呈现"escape=>false"
选项......
试试这个:
$this->Html->link(
$this->Html->image('icon-picture.png', array('alt' => 'fotos', 'class'=>'link-fotos', 'onClick' => "window.open('".$this->Html->url(array('controller' => 'Pedidos' ,'action'=>'exibeFotos'))."', 'Pagina', 'STATUS=NO, TOOLBAR=NO, LOCATION=NO, DIRECTORIES=NO, RESISABLE=NO, SCROLLBARS=YES, TOP=10, LEFT=10, WIDTH=770, HEIGHT=400'); return false;", 'id' => 'dialogFotos')),
'#',
array('escape' => false)
);
这只会在链接中添加一个空锚点,并将return false;
添加到onClick
事件的末尾,以便在打开新窗口后不会跟随该链接。