2011-06-24 113 views
0

當用戶提交表單時會出現重疊加載,然後出現對話框(執行一些驗證等等)。當用戶關閉它時,繼續在表單上工作.. CAN' T再次提交表格。 :(JQuery Overlay只加載一次

這是代碼片段,與控制的一些建議.. u能幫助我嗎?感謝名單

  <script> 
      $(document).ready(function() { 
       $("#subtitulo img[title]").tooltip(); 

       var overlay = $("#overlay"), adOver = {}; 
        overlay.overlay({ 
         top: 100, 
         mask: { 
          color: '#fff', 
          loadSpeed: 200, 
          opacity: 0.5 
         }, 
         closeOnClick: false, 
         load: false, 
         onClose: function() { 

         } 
        }); 
       adOver = overlay.data('overlay'); 

       $('#form, #myform').submit(function() { 

        /*$("#overlay").overlay({ 
         top: 100, 
         mask: { 
          color: '#fff', 
          loadSpeed: 200, 
          opacity: 0.5 
         }, 
         closeOnClick: false, 
         load: true 
        });*/ 

        adOver.load(); 
        $('#overlayinfo').html('<p><img src=../imagenes/tooltip/loader.gif /></p>'); 
        $('#overlayinfo').load('<?= $datosServ[carpeta] ?>/overlay/add.php','add=1&'+sendObjValues('myform')); 
        return false; 
       }); 
      }); 
      </script> 

回答

0

在您提交活動結束時,你正在返回假的。這將防止事件的默認動作(提交表單),並停止將事件傳播給其他監聽函數。

假設存在某種情況,您需要覆蓋,您可以使用jquery事件方法來防止默認操作,只有當你正在顯示覆蓋層。

$('#form, #myform').submit(function(evt) { 
    if(showOverlay){ 
    evt.preventDefault(); 
    adOver.load(); 
    // or you could return false here 
    } 
} 
+0

我們r當我們詢問它是否顯示時,在if驗證中加載覆蓋圖。 :(沒有工作。 – Nayeli

0

你需要一個回調添加到您的$( '')。load函數

$( '#形式,#myform')。提交(函數(){

$("#overlay").overlay({ 
    top: 100, 
    mask: { 
    color: '#fff', 
    loadSpeed: 200, 
    opacity: 0.5 
    }, 
    closeOnClick: false, 
    load: true 
    }); 

    adOver.load(); 
    $('#overlayinfo').html('<p><img src=../imagenes/tooltip/loader.gif /></p>'); 
    $('#overlayinfo').load('<?= $datosServ[carpeta] ?>/overlay/add.php', 'add=1&'+sendObjValues('myform'), function() { 
     $("#overlay").overlay("close"); 
    }); 
    return false; 
});