MailChimp jQuery Confult.
-
30-09-2019 - |
Вопрос
У меня самое ужасное время, интегрируя почтучмпп на сайт, который я проектирую!
Проблема в том, что проверка не работает для встроенной формы подписки. Вместо включения сообщений об ошибках формы пикируют пользователь на страницу регистрации MailChimp, чтобы исправить ошибки или список подтверждения.
Я проделал большую сумму настройки в код, поэтому, к сожалению, возвращаясь к по умолчанию, не является вариантом.
Вот ошибки, которые я получаю, но я N00B, поэтому я не знаю, что они подразумевают:
Перерыв на ошибку mce_jquery не определено:
Я не думаю, что это ошибка, которая может быть поймана с консолью, хотя.
Странная вещь это так. Если я сокровим пользовательский код и просто опубликую статический код из MailChimp, он как-то работает, но я скопировал весь соответствующий код с важными функциями и до сих пор не в кости.
Вы можете просмотреть сайт в прямом эфире на: http://ranya.net/wp/contact.
Регистрация списка MailChimp находится в верхнем правом углу скольжения. Соответствующие скрипты встроены только после div # Top_mailing.
Решение 5
Ответ Alec Smart был почти правильным. Запустив jQuery в Noconflict Mode, проблема была решена. Алек предложил добавить jquery.noConflict (); в заголовке документа. Оказывается, что в Appered Code есть строка, который прокомментирован. Для того, чтобы правильно включить Noconflict Mode для поиска сценариев MailChimp
//var mce_jQuery = jQuery.noConflict();
Удалите комментарий, чтобы он выглядел так
var mce_jQuery = jQuery.noConflict();
И тогда вы должны быть хороши, чтобы пойти! :)
Другие советы
Или вы можете просто переименовать эту переменную в MailChimp.js:
var mce_jQuery = jQuery.noConflict();
к
var mce_jQuery = jQuery;
Не знаю, почему разработчики MailChimp решили переписать доллар-знак с методом.
Использование jquery 1.8.1 и последний код MailChimp от 28 мая 2013 года
Я не мог найти вышеуказанный комментарий, чтобы вотворить его.
Однако я мог бы увидеть этот код MailChimp:
function mce_init_form(){
jQuery(document).ready( function($) {
Мое понимание этого не отлично, но это повторно назначает переменную jQuery jQuery.
Однако позже в коде произошло это:
function mce_success_cb(resp){
$('#mce-success-response').hide()
который отключал код MailChimp
Я изменил это на
function mce_success_cb(resp){
jQuery(document).ready( function($) {
$('#mce-success-response').hide();
И это работает. Не совсем уверен почему (и полюбил бы объяснение!) Но думал, что я бы опубликовал, как кто-то может наступить на этот вопрос таким же образом, как я.
Мне не повезло ни в одном из вышеперечисленных решений, вероятно, потому что последний ответ более года, и больше не отражает текущий код MailChimp.
Решить мои конфликты jQuery, я скопировал mc-validate.js
Сценарий, который MailChimp служит из http://s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js. и положить его на наш собственный сервер. Затем я украсил его и удалил код jQuery из файла. Таким образом, теперь на нашем сервере остается только наша версия jQuery, и больше не конфликт.
Как выглядит, вам также не нужно линию var $mcj = jQuery.noConflict(true);
больше.
@mailChimp: отличное решение этой проблемы было бы, если бы вы могли просто предоставить другую версию кода на ваших серверах Amazon, это не включает jQuery.
Попробуйте переместить этот код вправо в верхней части (как сразу после <head>
ярлык):
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script>jQuery.noConflict();</script>
<script type="text/javascript" src="http://downloads.mailchimp.com/js/jquery.validate.js"></script>
<script type="text/javascript" src="http://downloads.mailchimp.com/js/jquery.form.js"></script>