I'm trying to use Vue.js to create interactive elements on a landing page, but Marketo is rewriting my input fields and their wrapper divs. How do I prevent Marketo from doing that?
Rewriting to what?
You're not being specific enough. Are you trying to create your own custom form on a Marketo LP? That partially defeats the purpose of using Marketo LPs in the first place.
It's a custom form, but the fields are meant for interaction, not submission.
Still not enough info. Where are you adding this markup? In the RIch Text editor (not a good idea)? Or on the template (good idea)? Or in a mktoText variable (acceptable idea)?
On the template.
Then I don't understand what kind of "rewriting" you're referring to.
You can't get real help on the Community while being this stingy with details. If you aren't allowed to post code and link to actual pages for security reasons, this probably is not the right venue.
I have a vuejs component with the following template:
The resulting code should look like this:
But the Marketo page renders this instead:
At last, something to work with!
Use longhand syntax
v-on:keydown.up.prevent="arrowUp"
not shorthand
@keydown.up.prevent="arrowUp"
It seems the dash in the component name is what Marketo didn't like. I also changed the code to longhand.
The @ is stripped as are other rare-but-allowed characters. Longhand is necessary.
("Allowed" meaning allowed by the HTML5 spec, but mistakenly disallowed by Marketo.)