Вопрос

У меня самое ужасное время, интегрируя почтучмпп на сайт, который я проектирую!

Проблема в том, что проверка не работает для встроенной формы подписки. Вместо включения сообщений об ошибках формы пикируют пользователь на страницу регистрации MailChimp, чтобы исправить ошибки или список подтверждения.

Я проделал большую сумму настройки в код, поэтому, к сожалению, возвращаясь к по умолчанию, не является вариантом.

Вот ошибки, которые я получаю, но я N00B, поэтому я не знаю, что они подразумевают:

Перерыв на ошибку mce_jquery не определено:

Screen shot 2010-08-22 at 4.34.50 AM.jpg

Я не думаю, что это ошибка, которая может быть поймана с консолью, хотя.

Странная вещь это так. Если я сокровим пользовательский код и просто опубликую статический код из 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top