2017-02-27 38 views
1

工作,我有我的網站上退出彈出,有這種退出彈出的代碼:形式不上彈出

<script type="text/javascript"> 
     bioEp.init({ 
     html: '<div id="bio_ep_content">' + 
     '<img src="/static/newsletter.png" alt="Newsletter" />' + 
     '<span>Zapisz się do newslettera</span>' + 
     '<span>Chcesz być na bieżąco z tym, co dzieje się w branży budowlanej? Zapisz się do naszego newslettera! Co 2 tygodnie otrzymasz wiadomość o najnowszych artykułach i inspiracjach!</span>' + 
     '<form id="newsletter" class="newsletter exitpopup">' + 
     '<input type="text" name="email" placeholder="Email" /> <input type="submit" value="Zapisz się" />' + 
     '<span class="info error"></span>' + 
     '<span class="info success"></span>' + 
     '</form>' + 
     '</div>', 
     cookieExp: 0 
    }); 
    </script> 

的通訊形式的代碼精確到noraml形式,這是完全正常的:

<form id="newsletter"> 

     <input type="text" name="email" placeholder="Email" /> <input type="submit" value="Zapisz się" /> 
     <span class="info error"></span> 
     <span class="info success"></span> 
    </form> 

<script> 
    $('form#newsletter').on('submit', function() { 
     var form = this; 
     var data = form_fields(form, [ 'email' ]); 
     form_post('/newsletter', data, false, function(ctx) { 
      if(ctx['error']) { 
       $(form).children('.info.error').html(ctx['error']); 
       $(form).children('.info.success').html(''); 
      } else if(ctx['success']) { 
       $(form).children('.info.error').html(''); 
       $(form).children('.info.success').html(ctx['success']); 
      } 
     }); 
     return false; 
    }); 
</script> 

但是,當我在彈出窗體中輸入這種形式的東西,並提交這個,然後頁面重新加載,什麼也沒有發生。正常形式完全正常工作,所以我如何解決這個彈出窗體?

回答

1

你必須委託事件的父元素爲頁面加載後產生的形式,讓事件沒有約束就可以了:

$(document).on('submit', 'form#newsletter', function() { 

這裏$(document)可以與最接近的靜態父元素被替換。這可以是任何其他包裝元素,它包含表單,但在發生dom事件時應該加載。

+0

非常感謝!這解決了我的問題! – Dawid

+0

@Dawid很高興這有幫助。 – Jai