запретить закрытие модальной формы при отправке формы - PullRequest
0 голосов
/ 04 января 2011

Есть ли способ предотвратить закрытие модального окна при отправке формы?

Я работаю над формой, представленной пользователям с помощью простого модального модуля.

// modal call
$('#edit_container', document).modal( {onOpen: function (dialog) {
                dialog.overlay.fadeIn('fast', function () {
                    dialog.data.hide();
                    dialog.container.fadeIn('fast', function () {
            dialog.data.slideDown('fast');
                        });
                });
        } , onClose: function(dialog) {
               location.reload(true);
                $.modal.close(); 
                } });
    // simplemodal settings

$.modal.defaults = {
        appendTo: 'body',
        focus: false,
        opacity: 70,
        overlayId: 'simplemodal-overlay',
        overlayCss: {},
        containerId: 'simplemodal-container',
        containerCss: {},
        dataId: 'simplemodal-data',
        dataCss: {},
        minHeight: null,
        minWidth: null,
        maxHeight: null,
        maxWidth: null,
        autoResize: true,
        autoPosition: true,
        zIndex: 1000,
        close: true,
        closeHTML: '',
        closeClass: 'simplemodal-close',
        escClose: false,
        overlayClose: false,
        position: null,
        persist: true,
        modal: true,
        onOpen: null,
        onShow: null,
        onClose: null
    };

У меня есть функция jquery, которая обновляет таблицу в модальном div:

// on submit function
$('form#family-form').submit(function() {
      var condition = $('#edit-health',this).val();
$('>li> + condition + >/li>', document).appendTo('#health_edit_table td ul');
}); 

Есть мысли?

Спасибо, Джонатан

Ответы [ 2 ]

0 голосов
/ 04 января 2011

Woops! Я понял, что это нужно сделать с помощью вызова AJAX или AHAH (drupal). Если у кого-то нет идеи получше.

0 голосов
/ 04 января 2011

Если вы действительно хотите отправить форму, используйте ajax.Если нет, верните false из функции отправки.

// on submit function
$('form#family-form').submit(function() {
  var frm = this;
  $.ajax({ 
    url:frm.attr('action'),  
    data:$(frm).serialize(),  
    success:function(data){
      var condition = $('#edit-health',frm).val();
      $('>li> + condition + >/li>', document).appendTo('#health_edit_table td ul');
    }  
  });
  return false;
}); 
...