2015-12-20 2 views
4

Я использую twig для своих шаблонов. когда я загружаю jquery скрипт в {% js_block %}, он будет загружаться дважды, и я не знаю почему? Но когда я переношу свой сценарий из {% js_block %}, это работает правильно. в чем проблема?Сценарий JQuery, выполняемый дважды в twig

{% extends 'layout/base.html.twig' %} 
{% block js_block %} 
<script>alert('Hi')</script> 
{% endblock %} 

Решение: Я нахожу проблему. Я был загружен {% js_block %} в {% body_block %}:

{% extends 'layout/base.html.twig' %} 
{% block body_block %} 
//HTML CODES 
{% block js_block %} 
<script>alert('Hi')</script> 
{% endblock %} 
{% endblock %} 

Решение:

{% extends 'layout/base.html.twig' %} 
{% block body_block %} 
//HTML CODES 
{% endblock %} 
{% block js_block %} 
<script>alert('Hi')</script> 
{% endblock %} 
+0

Так в чем проблема? Не отправляет ли ваша почта? Вы не проверяете свой '$ mail-> send()', который мог бы сделать ошибку - 'if (! $ Mail-> send()) {echo $ mail-> ErrorInfo; } ' – Darren

+4

Скорее всего, ваш скрипт запускается дважды. Добавьте несколько журналов, чтобы вы могли видеть, что они делают. – Synchro

+0

@ Darren Я просмотрел результаты, но все равно электронная почта будет отправлена ​​дважды. –

ответ

0

Похоже, вы вызываете скрипт AJAX или внутри функции обратного вызова.
Запустите сценарий, чтобы функция «щелкнуть» выполнялась один раз, а не больше.
Каждый раз, когда вы используете функцию щелчка на том же элементе, он повторяет прослушиватель событий.
Я советую вам выбрать, используя «ID» вместо «class».

+0

Использование $ (". Person-reset-pass"). Unbind ('click'); решил мою проблему. Но не запускайте событие щелчка где-нибудь. Я просто использую бутстрап. –

0

Держу пари, что вы запускаете это событие «щелкнуть» где-нибудь.

+0

Использование $ (". Person-reset-pass"). Unbind ('click'); решил мою проблему. Но не запускайте событие щелчка где-нибудь. Я просто использую бутстрап. –