2017-05-08 71 views
4

我有一个弹出窗口模式,onclicks打开,我想这个模式被关闭,当我提交表单并获得ajax成功请求。我试过弹出模式关闭ajax响应

success: function(data) 
{ 
    //console.log('ticket added'); 
    this.closeModal(); 
} 

但它不工作,任何人都可以把它排除。由于提前

<script> 
require(
    [ 
     'jquery', 
     'Magento_Ui/js/modal/modal' 
    ], 
    function($, modal) { 
     var options = { 
      type: 'popup', 
      responsive: true, 
      innerScroll: true, 
      title: 'Test title', 
      buttons: [{ 
       text: $.mage.__('Continue'), 
       class: '', 
       click: function() { 
        this.closeModal(); 
       } 
      }] 
     }; 

     var popup = modal(options, $('#events_popup')); 
     $("#click-me").on('click',function(){ 
      $("#events_popup").modal("openModal"); 
     }); 
}); 
</script> 

<div id="events_popup" style="display: none;" class="events_popup"> 
<script type="text/javascript"> 
    require(
     [ 
      'jquery' 
     ], 
    function($,modal) { 
     $("#<?php echo $_product->getId()?>").submit(function(e) { 

      $.ajax({ 
       type: "POST", 
       url: $(this).attr('action'), 
       data: $("#<?php echo $_product->getId()?>").serialize(), 
       showLoader: true, 
       success: function(data) 
       { 
        //console.log('ticket added'); 
        document.close(); 
       } 
      }); 

      e.preventDefault(); 
     }); 
    } 
); 

</script> 
</div> 

回答

1

你试过

$('#yourmodalid').modal('hide'); 
+1

**从审核队列**:我可以请求您请您在答案中添加更多的上下文。仅有代码的答案很难理解。如果您可以在帖子中添加更多信息,它可以帮助提问者和未来的读者。 – RBT

+0

我试过你的解决方案,但得到一个错误。 – Verdu

1

我得到了解决,我们可以破坏与下面的代码行的模式。

$('#events_popup').modal('closeModal');