Use different Marketo form for known visitors (was: Conditional Marketo Submit Button Text)
We have our Submit button currently set to "Submit" as default. We have "Email" field as a hidden field on this form. We'd like to change the text to "Some text" if the Email Address field is found empty (or, basically, this is an unknown visitor). Can someone guide on best Javascript code to build this condition? This is part of our preference center.
I did find something like below posted by Sanford, but couldn't get it to work.
Original:
MktoForms2.whenReady(function(form){
var formEl = form.getFormElem()[0],
buttonEl = formEl.querySelector("button[type='submit']");
var buttonLabelMap = [
{
ifField : "Rep_Age__c",
equalsValue : "no",
setHTML : "Submit"
},
{
ifField : "Rep_Age__c",
equalsValue : "yes",
setHTML : "Let's Grow"
}
];
formEl.addEventListener("change",function(e){
var currentValues = form.getValues();
buttonLabelMap.some(function(changeset){
if(currentValues[changeset.ifField] == changeset.equalsValue){
buttonEl.innerHTML = changeset.setHTML;
return true;
}
});
});
});
Tweaked (but didn't work):
MktoForms2.whenReady(function(form){
var formEl = form.getFormElem()[0],
buttonEl = formEl.querySelector("button[type='submit']");
var buttonLabelMap = [
{
ifField : "Email",
equalsValue : "",
setHTML : "Some Text"
}
];
formEl.addEventListener("change",function(e){
var currentValues = form.getValues();
buttonLabelMap.some(function(changeset){
if(currentValues[changeset.ifField] == changeset.equalsValue){
buttonEl.innerHTML = changeset.setHTML;
return true;
}
});
});
});



