Обновление Marketo Hidden Field
Как мне обновить значение скрытого поля Marketo?
Что я пробовал
form.setValues({"Results_PDF_URL__c":"assignedCampaignID"});
form.vals({"Results_PDF_URL__c":"assignedCampaignID"});
Оба вышеуказанных варианта не работают.
Поэтому я проверил идентификатор, если я использую правильный идентификатор, когда я попытался получить идентификатор, он остался пустым (ничего) для скрытых полей маркета.
Хотя я могу получить идентификатор для входного текста полей Marketo (например, FirstName, Comapany...) - я не могу получить идентификатор каких-либо скрытых полей Marketo.
Любая идея, что я должен установить, чтобы заставить это работать?
1 ответ
Любой из них, если он используется в нужной области, должен работать. Объект формы не является глобальным.
MktoForms2.whenReady( function (form) {
form.vals({"Results_PDF_URL__c":"assignedCampaignID"});
});
Сначала вы должны убедиться, что API MktoForms2 доступен, чтобы не было ошибки.
if( typeof MktoForms2 != "undefined" ) {
MktoForms2.whenReady( function (form) {
form.vals({"Results_PDF_URL__c":"assignedCampaignID"});
});
}
В Marketo вы можете получить имена полей в Admin> Управление полями> Экспорт имен полей. (Требуется доступ администратора Marketo.) Это загрузит CSV всех имен полей. Вы захотите использовать имена полей, показанные в столбце REST API.
Для быстрой проверки я обычно просто добавляю нужные поля в форму и проверяю их, чтобы получить правильные идентификаторы полей.
Также вы можете использовать .addHiddenFields()
вместо .vals()
чтобы убедиться, что поля а) в форме б) как скрытые поля и в) имеют правильные значения, которые вы хотите передать в Marketo. Если поля уже существуют, эта функция обнаружит поля и установит только значения. Очень кстати.
if( typeof MktoForms2 != "undefined" ) {
MktoForms2.whenReady( function (form) {
form.addHiddenFields({"Results_PDF_URL__c":"assignedCampaignID"});
});
}
Наконец, вы можете добавить небольшую задержку, чтобы у библиотеки форм Marketo было достаточно времени для загрузки и чтобы форма была доступна на странице при ее поиске. Маловероятно, что кто-то отправит форму в течение первых двух секунд на странице, поэтому, вероятно, можно задержать на две секунды перед добавлением поля / значения в форму.
setTimeout( function(){
if( typeof MktoForms2 != "undefined" ) {
MktoForms2.whenReady( function (form) {
form.addHiddenFields({"Results_PDF_URL__c":"assignedCampaignID"});
});
}
}, 2000 ); // two-second delay