Custom form ids

(Gavin) #1

Matrix Version:


I have a custom form where I have provided the page contents bodycopy.
In the bodycopy I have content like:

< input required type=“text” autocomplete=“given-name” name=“q320266:q1” maxlength=“40” class=“js-firstName c-form__input” aria-labelledby=“q320266_q1_label” id=“q320266_q1” >

When I export the asset xml and import it into a different environment the form asset id has changed and all the ids in the body copy will be incorrect.

Is there an easy solution to this or do I need to go through the bodycopy replacing all the ids when I move the form to a different environment ?


(John gill) #2

I’d replace




That should cause the assetid to get rewritten by export/import. I think. Probably. :man_shrugging:

(Gavin) #3

Thank you for your reply.
In the end I had some success with:

< input required type=“text” autocomplete=“given-name” name=“q%asset_assetid^add:2%:q1” maxlength=“40” class=“js-firstName c-form__input” aria-labelledby=“q%asset_assetid^add:2%_q1_label” id=“q%asset_assetid^add:2%_q1” >

as my form sections are a predicatable sequence of asset ids as far as I can tell.

This only broke down in the Thank you page:

        An email confirmation has been sent to %response_321803_q7%

Where I couldnt see how to integrate %asset_assetid^add:2% into %begin_response_321803_q7%

I’ll give your solution a go too.

(Bart Banda) #4

What’s the reason for hardcoding the input field like that in the first place? Why can’t you just use a keyword and add classes via keyword replacements or via the details screen of the form field?

(Gavin) #5

Not sure what the specific keyword solution would be, but the reason for coding everything in a page body area was to have full control over the layout and the label elements.

(Bart Banda) #6

So what you can do to control the attributes is to use keyword replacements like these:


For example.