2017-09-08 3 views
0

J'ai utilisé attribut data-confirmation avec Html :: Mots clés en datagrids et cela a fonctionné. Mais maintenant, je veux l'utiliser avec un bouton comme celui-ci:événement click bouton yii2 précède données message de confirmation

<?php echo Html::button("<span class='icon delete'></span>", [ 
     "class" => "delete", 
     "title" => Yii::t("app-upload-list", "delete"), 
     "data-confirm" => Yii::t("yii", "Are you sure you want to delete this item?"), 
    ]) 

Je ne pas utiliser l'ancre ici parce que ce bouton ne fait rien en côté serveur. Mais lorsque j'attache un événement click au bouton, il précède la case de confirmation. Je peux le contourner en écrivant le code de confirmation moi-même dans l'événement click et en utilisant un attribut data-my-confirm (ou similaire) pour éviter les doubles cases de confirmation, mais ce n'est pas très agréable. Est-ce que je peux faire cela avec confirmation de données?

Répondre

0

Je pense que vous pouvez trouver un exemple de quelque chose de similaire à celui du modèle Yii2 d'une vue.

À mon avis, j'ai le code suivant:

<?= Html::a('Delete', ['delete'], [ 
      'class' => 'btn btn-danger', 
      'data' => [ 
       'confirm' => 'Are you sure you want to delete this item?', 
       'method' => 'post', 
      ], 
     ]) ?> 

Je dois admettre que j'essayer de ne pas l'utiliser avec Html :: bouton. Mais vous pouvez essayer quelque chose comme ceci:

<?php echo Html::button("<span class='icon delete'></span>", [ 
     "class" => "delete", 
     "title" => Yii::t("app-upload-list", "delete"), 
     "data" => [ 
        'confirm' => 'Are you sure you want to delete this item?', 
        'method' => 'post', 
       ], 
    ]) ?> 

EDIT: Oui , de cette façon ne fonctionnent pas.

Ce qui est recommandé est d'utiliser un lien (Html ​​:: a) et de le styler comme vous le souhaitez. Si vous souhaitez soumettre un formulaire, vous devez utiliser: Html :: submitButton()

Si vous souhaitez utiliser un bouton ... vous pouvez le faire fonctionner avec jQuery comme mentionné par Stu ici: https://stackoverflow.com/a/12697511/2437857

+0

Oui , J'ai le même exemple mais ce qui fonctionne pour l'ancre ne fonctionne pas pour le bouton. Mais l'attribut data-confirm déclenche la case de confirmation, donc je pense que cela devrait fonctionner d'une manière ou d'une autre. –

+0

J'ai édité ma réponse. J'espère que cela vous aidera si vous ne l'avez pas encore résolu. – ManuelCash