2017-10-17 181 views
0

我有新聞訂閱輸入Opencart的網站,當我輸入電子郵件,然後按訂閱它說:「電子郵件是無效的!:即使你是。電子郵件輸入未服用的電子郵件地址是有效的輸入簡訊訂閱箱

,所以我不能使用它,因爲它不採取電子郵件

我用這個主題並沒有改變的訂閱模塊中任何東西, 您可以向下滾動到頁腳,並檢查它的行爲在這裏:http://demopavothemes.com/pav_woosa/demo2/

廣東話找出問題所在。

繼承人的模塊代碼:

<div class="<?php echo $prefix; ?> newsletter-v1" id="newsletter_<?php echo $position.$module;?>"> 
    <form id="formNewLestter" method="post" action="<?php echo $action; ?>" class="formNewLestter"> 
     <div class="panel panel-v1"> 
      <div class="panel-heading"> 
       <h4 class="panel-title"><?php echo $objlang->get("entry_newsletter");?></h4>   
      </div>    
      <div class="panel-body"> 
       <div class="input-group"> 
        <input type="text" placeholder="Email Here ..." class="form-control email" <?php if(!isset($customer_email)): ?> <?php endif; ?> size="18" name="email"> 
        <div class="input-group-btn pull-left"> 
         <button type="submit" name="submitNewsletter" class="btn btn-primary icon-mail radius-6x"><?php echo $objlang->get("button_subscribe");?></button> 
        </div> 
       </div> 
       <input type="hidden" value="1" name="action"> 
       <div class="valid space-top-10"></div> 
      </div> 
       <?php if (!empty($social)): ?> 
        <?php echo html_entity_decode($social);?> 
       <?php endif ?> 
     </div> 
    </form> 
</div> 

<script type="text/javascript"><!-- 

    $(document).ready(function() { 
     var id = 'newsletter_<?php echo $position.$module;?>'; 
     $('#'+id+' .box-heading').bind('click', function(){ 
      $('#'+id).toggleClass('active'); 
     }); 

     $('#formNewLestter').on('submit', function() { 
      var email = $('.inputNew').val(); 
      $(".success_inline, .warning_inline, .error").remove(); 
      if(!isValidEmailAddress(email)) {    
      $('.valid').html("<div class=\"error alert alert-danger\"><?php echo $objlang->get('valid_email'); ?><button type=\"button\" class=\"close\" data-dismiss=\"alert\">×</button></div></div>"); 
      $('.inputNew').focus(); 
      return false; 
     } 
     var url = "<?php echo $action; ?>"; 
     $.ajax({ 
      type: "post", 
      url: url, 
      data: $("#formNewLestter").serialize(), 
      dataType: 'json', 
      success: function(json) 
      { 
       $(".success_inline, .warning_inline, .error").remove(); 
       if (json['error']) { 
        $('.valid').html("<div class=\"warning_inline alert alert-danger\">"+json['error']+"<button type=\"button\" class=\"close\" data-dismiss=\"alert\">×</button></div>"); 
       } 
       if (json['success']) { 
        $('.valid').html("<div class=\"success_inline alert alert-success\">"+json['success']+"<button type=\"button\" class=\"close\" data-dismiss=\"alert\">×</button></div>"); 
       } 
      } 
     }); 
     return false; 
    }); 
}); 

function isValidEmailAddress(emailAddress) { 
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); 
    return pattern.test(emailAddress); 
} 
--></script> 
+0

@ chris85我不知道它在哪裏定義。你能更具體嗎? –

回答

2

這條線:

$('.inputNew') 

正在尋找一個名爲inputNew類。您的HTML沒有具有該名稱的元素。你看起來像的元素有一個email的類。

<input type="text" placeholder="Email Here ..." class="form-control email" <?php if(!isset($customer_email)): ?> <?php endif; ?> size="18" name="email"> 
                    ^^^^^ 

你也可以使用form-control但這聽起來並不唯一。一個id會更好,或者你可以使用name屬性是這樣的:

$('input[name="email"]') 

所以更改JS行:

var email = $('.email').val(); 

var email = $('input[name="email"]').val(); 

你可以閱讀更多有關這些這裏,https://api.jquery.com/category/selectors/

+0

謝謝!這解決了它 –

相關問題