当按下删除按钮时,我想要弹出警报以确保用户没有犯错误。
所以,在codeIgniter中我有这个效果很好:
按钮:
<td><a class='Right btn btn-danger' onClick="ConfirmMessage('news', <?php echo $new->id ?>,'news')">
<i class="icon-remove-sign icon-white"></i>
</a></td>
使用Javascript:
function ConfirmMessage(type, id, types) {
if (confirm("Are you sure you want to delete this "+type+" ?")) { // Clic sur OK
document.location.href='<?php echo site_url(); ?>/'+types+'/delete/'+id;
}
}
但是现在,使用Symfony2,我不能这样做:
按钮
<td><a class='Right btn btn-danger' onClick="ConfirmMessage('artist', {{ artist.id }},'news')">
<i class="icon-remove-sign icon-white"></i>
</a></td>
的Javascript
function ConfirmMessage(type, id, types) {
if (confirm("Are you sure you want to delete this "+type+" ?")) { // Clic OK
document.location.href="{{ path('ymtest_Delete'"+types+", {'id': "+id+"}) }}";
}
}
因为我在Symfony想要生成网址时收到错误。
什么是解决方案? 感谢
答案 0 :(得分:4)
你不能写
document.location.href="{{ path('ymtest_Delete'"+types+", {'id': "+id+"}) }}";
你正在混合twig函数和javascript函数。 Twig将在后端进行解析和编译 收到html页面后,Javascript将在您的客户端执行
您必须生成每个网址类型并将其分配给javascript变量。
更优雅的方法是将您的网址和邮件存储在数据属性
中<a class="Right btn btn-danger" data-url="{{ path('ymtest_EditMusician', {'id': artist.id}) }}" data-message="Are you sure you want to delete this type ?" ></a>
现在,您可以使用javscript绑定事件,并检索数据属性值。没有更多的javascript测试