防止在表单提交时关闭模式

时间:2011-01-04 19:46:03

标签: jquery simplemodal

有没有办法阻止模式在提交表单时关闭?

我正在处理通过简单模式呈现给用户呈现给用户的表单。

// 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 :(得分: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;
}); 

答案 1 :(得分:0)

Woops!我意识到这需要通过AJAX或AHAH(drupal)调用来完成。除非,任何人都有更好的主意。