Я хочу отслеживать, когда пользователь отправляет форму, используя «Отслеживание пользовательских ссылок» Omniture.Эта функция использует встроенную функцию s.tl()
.Типичная настройка выглядит следующим образом:
$('a#submit').click(function () {
s.trackExternalLinks = false;
s.linkTrackVars = 'events,prop1';
s.linkTrackEvents = s.events = 'event1';
s.prop1 = s.pageName;
s.tl(this, 'o', 'Form Submitted');
});
Этот код работает нормально при нажатии ссылки примера (<a id="submit">
).Скажем, вместо этого мы хотим вызвать функцию для запуска отслеживания ссылок:
// function to track custom link
var trackLink = function() {
s.trackExternalLinks = false;
s.linkTrackVars = 'events,prop1';
s.linkTrackEvents = s.events = 'event1';
s.prop1 = s.pageName;
s.tl(this, 'o', 'Form Submitted');
};
// Form Submission code calls trackLink()
$.ajax({
type: 'POST',
url: submit.php,
data: [data],
success: trackLink()
});
Вызов trackLink()
приводит к undefined
, вероятно, потому что this
в s.tl()
больше не указываетDOM объект?Замена this
чем-то вроде $('a#submit')[0]
(попытка передать объект вместо this
) также приводит к undefined
.Что я делаю не так?