J'ai quelques formulaires sur la même page et je veux ajouter une boîte de dialogue de confirmation à tous en utilisant le même code. Ils ont tous une classe de confirmation-forme et le titre de la boîte de dialogue de confirmation doit être généré dynamiquement (ce qui ne fonctionne pas atm).jQuery confirme la boîte de dialogue sur plusieurs formulaires
Dans le HTML j'ai la boîte de dialogue qui se cache lorsque la page se charge, il est affiché une fois que la fonction dialog('open')
est appelée.
C'est ce que j'ai maintenant et ça ne fonctionne pas du tout, les charges de dialogue, mais une fois que vous appuyez sur confirmer, il répète la clause else beaucoup et ne présente pas la forme:
var deleteConfirmed = false;
$('form.confirm-form').submit(function(e) {
if (! deleteConfirmed)
{
e.preventDefault();
var title = $(this).find('input.action').val();
var $this = $(this);
console.log('title: ' + title);
$('#confirm-dialog').attr('title', title);
$('#confirm-dialog').dialog({
buttons : {
"Confirm" : function() {
deleteConfirmed = true;
$(this).dialog('close');
$this.submit();
},
"Cancel" : function() {
$(this).dialog('close');
}
}
});
$('#confirm-dialog').dialog('open');
}
else
{
$(this).submit();
deleteConfirmed = false;
}
});
cela a fonctionné merci! Je l'ai résolu d'une manière différente bien qu'avant que je lise votre poste, il n'est probablement pas aussi bon que le vôtre mais cela fonctionne! quand ils ont confirmé l'action, je les transfère juste là où le traitement de formulaire a lieu, au lieu d'essayer de soumettre le formulaire. ce serait beaucoup plus facile si la fonction "preventDefault()" était opposée. – Becky
Vous êtes les bienvenus. Je suis content que cela ait aidé. J'avais une exigence similaire pour remplacer les boîtes de dialogue d'alerte JavaScript plain vanilla avec les boîtes de dialogue jQuery à la place. Après avoir joué avec l'extrait de code posté un peu plus tard, j'ai pu factoriser le '.bind' et l'attribut do_submit du littéral d'objet assigné à $ current. En ce qui concerne l'inverse ou l'inversion de event.preventDefault(), la page de l'API jQuery pertinente contient des commentaires intéressants liés à cette http://api.jquery.com/event.preventDefault/. – JTP