Pregunta

He tenido el momento más horrible integración MailChimp en un sitio que estoy diseñando!

El problema es que la validación no está funcionando para el formulario incrustado suscribirse. En lugar de inlining mensajes de error, la forma es patear al usuario a la página de registro para el MailChimp corregir errores o confirmar la lista opt in.

He hecho una gran cantidad de personalización para el código, por lo que lamentablemente en el valor predeterminado de continuidad no es una opción.

Aquí están los errores que estoy recibiendo, pero yo soy un n00b JS, así que no sé lo que quieren decir:

Salto de error mce_jQuery no está definido:

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

No creo que es un error que puede ser capturado con la consola sin embargo.

Lo extraño es esto. Si te arranque el código personalizado y se limite a publicar el código estática de MailChimp de alguna manera funciona, pero he copiado todo el código correspondiente con funciones importantes y aún no dados.

Puede ver el sitio en vivo en: http://ranya.net/wp/contact

La lista de registro MailChimp se encuentra en la parte superior desplegable deslizamiento esquina derecha. Las secuencias de comandos pertinentes están incrustados justo después div # top_mailing.

¿Fue útil?

Solución 5

La respuesta de Alec inteligente era casi correcto. Mediante la ejecución de jQuery en modo noConflict se resuelva el problema. Alec sugiere que agrego jQuery.noConflict (); en la cabecera del documento. Resulta que hay una línea en el MailChimp código que se comenta fuera incrustar. Con el fin de permitir adecuadamente el modo noConflict para la búsqueda de secuencia de comandos para MailChimp

 //var mce_jQuery = jQuery.noConflict();

Eliminar el comentario para que se vea como esto

 var mce_jQuery = jQuery.noConflict();

y entonces usted debe ser bueno para ir! :)

Otros consejos

O usted puede simplemente cambiar el nombre de esta variable en los mailChimp.js:

var mce_jQuery = jQuery.noConflict();

a

var mce_jQuery = jQuery;

No sabemos por qué los desarrolladores de MailChimp decidieron volver a escribir el signo de dólar con un método.

El uso de jQuery 1.8.1 y el último código MailChimp a partir del 28 de mayo de 2013

No pude encontrar el comentario anterior que se elimine.

Sin embargo, pudo ver el código MailChimp:

function mce_init_form(){
jQuery(document).ready( function($) {

Mi comprensión de esto no es grande, pero esta reasigna la variable por defecto jQuery $.

Sin embargo, más adelante en el código no era la siguiente:

function mce_success_cb(resp){
$('#mce-success-response').hide()

que se dispare el código de MailChimp arriba

He cambiado a

function mce_success_cb(resp){
jQuery(document).ready( function($) {
$('#mce-success-response').hide();

y funciona. No estoy seguro de por qué (y me gustaría una explicación!), Pero pensé que había puesto como alguien podría venir a través de esta pregunta de la misma manera como lo hice.

Yo no tenía suerte con ninguna de las soluciones anteriores, probablemente debido a que la última respuesta es más de un año de edad y no refleja el código actual MailChimp más.

Para resolver mis conflictos de jQuery, que copió el guión mc-validate.js que sirve de MailChimp http://s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js y ponerlo en nuestro propio servidor. Entonces embellecido y quité el código jQuery desde el archivo. De esta manera, ahora hay sólo nuestra versión de jQuery a la izquierda en nuestro conflicto con el servidor y nada más.

Como se ve, que también es necesario el var $mcj = jQuery.noConflict(true); línea más.

@mailchimp:. Una gran solución para este problema sería si pudiera proporcionar una versión diferente del código de los propios servidores de Amazon, que no incluye jQuery

Trate de mover el código a la derecha en la parte superior (como inmediatamente después de la etiqueta <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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top