电子邮件输入未将电子邮件地址作为新闻订阅框中的有效输入

时间:2017-10-17 02:24:05

标签: javascript jquery jquery-selectors

我在opencart网站上有通讯订阅输入,当我输入电子邮件并按订阅时,它说“#34;电子邮件无效!”即便如此。

所以我不能使用它,因为它不需要电子邮件。

我使用了这个主题并没有改变订阅模块中的任何内容, 您可以向下滚动到页脚并检查其在此处的行为: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>

1 个答案:

答案 0 :(得分:2)

这一行:

inputNew

正在寻找名为email的班级。您的HTML没有具有该名称的元素。它看起来像你的元素类<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"]') 这样的属性:

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

所以将JS行更改为:

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

@Override
public boolean equals(Object obj) 
{
    for (Object elem : items)
    {
        E x = (E) elem;
        if (!x.equals((E)obj)) 
        {
            return false;
        }
    }
    return true;
}

您可以在此处详细了解这些内容,https://api.jquery.com/category/selectors/