J'ai eu du mal à récupérer la réponse dans la boîte de dialogue, mais j'ai finalement trouvé une solution en combinant la réponse de cette autre question: afficher-oui-et-non-boutons-au lieu-de-ok-et-annuler-dans-confirmer- boîte avec une partie du code de la boîte de dialogue de confirmation modale
Voici ce qui a été suggéré pour l'autre question:
Créez votre propre boîte de confirmation:
<div id="confirmBox">
<div class="message"></div>
<span class="yes">Yes</span>
<span class="no">No</span>
</div>
Créez votre propre confirm()
méthode:
function doConfirm(msg, yesFn, noFn)
{
var confirmBox = $("#confirmBox");
confirmBox.find(".message").text(msg);
confirmBox.find(".yes,.no").unbind().click(function()
{
confirmBox.hide();
});
confirmBox.find(".yes").click(yesFn);
confirmBox.find(".no").click(noFn);
confirmBox.show();
}
Appelez-le par votre code:
doConfirm("Are you sure?", function yes()
{
form.submit();
}, function no()
{
// do nothing
});
MES CHANGEMENTS
J'ai modifié ce qui précède pour qu'au lieu d'appeler, confirmBox.show()
j'utilise confirmBox.dialog({...})
comme ça
confirmBox.dialog
({
autoOpen: true,
modal: true,
buttons:
{
'Yes': function () {
$(this).dialog('close');
$(this).find(".yes").click();
},
'No': function () {
$(this).dialog('close');
$(this).find(".no").click();
}
}
});
L'autre changement que j'ai apporté a été de créer la div confirmBox dans la fonction doConfirm, comme ThulasiRam l'a fait dans sa réponse.