Comment créer une boîte de confirmation avec Twig et Symfony2 pour redirect l'user vers la page

Lorsque vous appuyez sur un button de suppression, j'aimerais qu'une alerte apparaisse pour s'assurer que l'user n'a commis aucune erreur.

Alors, dans codeIgniter, j'ai eu ce qui a bien fonctionné:

Bouton:

<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; } } 

Mais maintenant, avec Symfony2, je ne peux pas faire ceci:

Bouton

 <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+"}) }}"; } } 

Puisque j'ai une erreur lorsque Symfony veut générer une URL.

Quelle pourrait être une solution? Merci

vous ne pouvez pas écrire

  document.location.href="{{ path('ymtest_Delete'"+types+", {'id': "+id+"}) }}"; 

vous mélangez les fonctions des twigs et les fonctions javascript. Twig sera analysé et compilé sur backend Javascript sera exécuté sur votre côté client après la page html est reçue

Vous devrez générer et atsortingbuer chaque type d'url à une variable javascript.

une façon plus élégante de le faire serait de stocker votre url et vos messages dans les attributes de données

 <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> 

vous pouvez maintenant lier votre événement avec javscript et récupérer vos valeurs de données. Plus de tests de javascript