Frage

Ich habe mehrere Formulare auf einer Seite, für jeden von ihnen, dass ich der Benutzer vor dem Formulareinreichung bestätigen möchten. aber wenn der Benutzer einreichen bestätigt, wie lasse ich diesen Dialog wissen, welche Form der Benutzer sumbitting? Ist es benutzerdefinierte Parameter nehmen? Danke.

$("#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');
});
War es hilfreich?

Lösung

Sie können es speichern in einer Variablen wie folgt aus:

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

Da Sie gerade diese verwenden und sofort nur die Seite verlassen, kein wirklicher Grund, um es mehr als kompliziert.

Andere Tipps

Oder wie wäre es

$(this.form).submit();

Auf der Grundlage von Nick Craver seine Antwort, können Sie es auf diese Weise schreiben:

$('.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;
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top