Во избежание коллизий с другими библиотеками jQuery больше не инициализируется с переменной $
, начиная с Drupal 7 (это обычная практика и в других системах, а не только в Drupal).Вам необходимо предоставить контекст для переменной $
или изменить $.colorbox
на jQuery.colorbox
:
(function($) {
function emailFriend(){
$("form[name='comparisons']").attr("action", "/emailfriend/compare");
$("form[name='comparisons']").bind('submit', function() {
$.get($("form[name='comparisons']").attr("action"),
$("form[name='comparisons']").serialize(),
function(data){ // send to colorbox
$.colorbox({ // this is where the error comes from
html: data,
open: true,
iframe: true // use iframe
});
},
"html");
});
$("form[name='comparisons']").submit();
}
})(jQuery);
или:
function emailFriend(){
jQuery("form[name='comparisons']").attr("action", "/emailfriend/compare");
jQuery("form[name='comparisons']").bind('submit', function() {
jQuery.get(jQuery("form[name='comparisons']").attr("action"),
jQuery("form[name='comparisons']").serialize(),
function(data){ // send to colorbox
jQuery.colorbox({ // this is where the error comes from
html: data,
open: true,
iframe: true // use iframe
});
},
"html");
});
jQuery("form[name='comparisons']").submit();
}
Лично я бы просто использовалВторой способ, как вы уже написали этот код: -)