Неизвестный файл js с fancybox - PullRequest
0 голосов
/ 06 июня 2018

У меня есть главная страница с формой.Эта форма отправляется с ajax, как вы можете видеть там.

Главная страница

<form action="" method="post" class="newsletter">
    <input type="email" id="nl-email" name="nl-email" class="form-control" placeholder="<?php echo _('Entrez votre adresse mail'); ?>" required>
    <a href="javascript:;" id="nl_submit" name="nl_submit" class="newsletter_submit"><?php echo _('OK'); ?></a>
</form>

Вот файл js, куда я отправляю форму

$('.newsletter_submit').click(function(e) {
    newsletter_submit();
});

function newsletter_submit() {
email = $('#nl-email').val();
rgpd = $('#nl-rgpd').val();
    $.ajax({
        type: "POST",
        url: urlsite + 'newsletter.php',
        data: {
            'email': email,
            'rgpd': rgpd
        },
        beforeSend : function() {
        },
        success: function(xml){
            resultat    = $('result', xml).text();
            msg       = $("msg", xml).text();

            if(resultat=='OKrgpd'){
                // form
                var group   = [ {href : msg, title : false} ];
                var options = {
                    width       : '100%',
                    fitToView   : false,
                    autoSize    : true,
                    padding:0,
                    openEffect : 'none',
                    closeEffect : 'none',
                    type : 'iframe',
                    closeBtn : false,
                    helpers : {
                        overlay : {
                            closeClick: false
                        }
                    }
                }
                $.fancybox.open( group, options );
            }
            else {
                // print error 
                alert(msg);
            }
        }
    });
}

Проблемас fancybox

function t_accueil_popupRgpd($mail) {
?>
<form action="" method="post" class="newsletter">
    <div class="container">
    <input type="hidden" name="nl-email" id="nl-email" value="<?php echo $mail ?>">
    <input type="hidden" name="nl-rgpd" id="nl-rgpd" value="ok">
        <h3>RGPD </h3>
        <p>texte rgpd</p>
        <div class="row">
            <div class="col-12 col-md-6 text-right text-center-xs">
                <a href="<?php echo getUrl("/"); ?>" target="_top" class="btn btn-default btn-block-xs fancy-close"><?php echo _('No'); ?></a>
            </div>
            <div class="col-12 col-md-6 text-left text-center-xs">
                <a href="<?php echo getUrl("/"); ?>" onclick="newsletter_submit()" target="_top" class="btn btn-success btn-block-xs"><?php echo _('Yes'); ?></a>
            </div>
        </div>

</div>
</form>
<?php
}

Когда я пытаюсь отправить форму после проверки, я получаю ошибку, сообщающую мне, что функция onclick "newsletter_submit" не известна, но я не могу понять почему, потому что вызывается fancyboxвыше первой главной страницы и на этой странице функция хорошо известна.Я могу что-то упустить, но я не вижу, что не так.

Спасибо за помощь

1 Ответ

0 голосов
/ 06 июня 2018

Не ясно, какова ваша структура HTML, потому что вы не включили свой HTML-заголовок.Но я так понимаю, вы включаете оба сценария.

Что-то длинное в строках сценария src="fancybox.js"

Если это так, вы, вероятно, получаете сообщение об ошибке из-за порядка включенияскрипты.Это должно быть

script src="js file"
script src="fancybox.js"

Если это так, с другой стороны, вы получите ошибку, потому что, как правильно сказано, JS script неизвестно.

Если это не такВ этом случае вы можете поделиться большим количеством своего сценария (в основном, вашего HTML-заголовка)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...