باستخدام مربع الحوار jQuery UI لتأكيد الإجراء لتقديم النموذج

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

  •  19-09-2019
  •  | 
  •  

سؤال

لدي أشكال متعددة على الصفحة، لكل منها أريد تأكيد المستخدم قبل تقديم النموذج. ولكن عندما يؤكد المستخدم أن يقدم، كيف يمكنني السماح لهذا الحوار بأنه يشكل المستخدم هو sumbitting؟ هل يستغرق الأمر معلمات مخصصة؟ شكرًا.

$("#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');
});
هل كانت مفيدة؟

المحلول

يمكنك تخزينها في متغير مثل هذا:

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

نظرا لأنك تستخدم هذا فقط، إلا أن مغادرة الصفحة، أي سبب حقيقي لجعله أكثر تعقيدا من ذلك.

نصائح أخرى

أو ماذا عن

$(this.form).submit();

بناء على Cyk Craver إجابته، يمكنك كتابة ذلك بهذه الطريقة:

$('.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;
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top