2011-01-04 3 views
0

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

Я работаю над формой, представленной пользователям через простой представленный div.

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

Есть мысли?

Спасибо, Jonathan

ответ

0

Если вы действительно хотите, чтобы отправить форму затем использовать 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; 
}); 
+0

Да, ах, ajax! Благодаря! – Jonathan

0

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

Смежные вопросы