L'utilisation de dialogue jquery ui pour confirmer l'action pour la soumission du formulaire

StackOverflow https://stackoverflow.com/questions/2420773

  •  19-09-2019
  •  | 
  •  

Question

J'ai plusieurs formes sur une page, pour chacun d'eux que je veux l'utilisateur de confirmer avant la soumission du formulaire. mais lorsque l'utilisateur confirme soumettre, comment puis-je laisser ce dialogue savoir qui forment l'utilisateur est sumbitting? Faut-il des paramètres personnalisés? Merci.

$("#dialog-confirm").dialog({
        resizable: false,
        height:140,
        modal: true,
        buttons: {
            'Confirm submit': function() {
                document.______???????_____.submit();
            },
            Cancel: function() {
                $(this).dialog('close');
            }
        }
    });
$('.allForms').submit(function(){
      $('#dialog-confirm').dialog('open');
});
Était-ce utile?

La solution

Vous pouvez stocker dans une variable comme ceci:

var currentForm;
$("#dialog-confirm").dialog({
        resizable: false,
        height:140,
        modal: true,
        buttons: {
            'Confirm submit': function() {
                currentForm.submit();
            },
            Cancel: function() {
                $(this).dialog('close');
            }
        }
    });
$('.allForms').submit(function(){
      currentForm = this;
      $('#dialog-confirm').dialog('open');
      return false;
});

Puisque vous utilisez juste cela et immédiatement tout quitter la page, aucune raison de le rendre plus compliqué que cela.

Autres conseils

Ou comment

$(this.form).submit();

D'après Nick Craver sa réponse, vous pouvez l'écrire de cette façon:

$('.allForms').submit(function(){
      currentForm = this;

      $('#dialog-confirm').dialog({
        resizable: false,
        height:140,
        modal: true,
        buttons: {
            'Confirm submit': function() {
                currentForm.submit();
            },
            Cancel: function() {
                $(this).dialog('close');
            }
        }
      });
      return false;
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top