Hi,
For any form to work properly in a CachingURICoplet, you need to
transform the coplet through the HTMLEventLinkTransformer, to convert
the action parameter of the form tag to an event.
For this to work with cocoon forms, you need to have first transformed
using forms-samples-styling.xsl or equivalent, to convert the cforms
markup to an actual HTML form.
This works fine.
One of the other things that cforms does is create javascript alert
links, e.g. alert("This field is required"). Unfortunately the
HTMLEventLinkTransformer wipes out these anchor tags, and replaces them
with <a href="some-useless-event"...
I can see two ways around this.
1) Split out the forms-samples-styling.xsl stuff, so that it is done in
two stages so we can insert an HTMLEventLinkTransformer stage in the
middle:
<map:transform src="cforms-pre-styling.xsl"/>
<!-- now we have the form element etc. in place -->
<map:transform type="portal-html-eventlink"/>
<map:transform src="cforms-post-styling.xsl"/>
<!-- now we have other elements, like forms-validation-messaage links
-->
2) Modify HTMLEventLinkTransformer so that it ignores certain anchor
link classes:
<map:transform type="portal-html-eventlink">
<map:parameter name="ignore-link-classes"
value="forms-validation-message"/>
</map:transform>
(the popup links have their own class, forms-validation-message).
I can code up either solution - I need it anyway for my own code. What
do you think? Or is there another way?
Jon
- RE: CForms in a coplet Jon Evans
- RE: CForms in a coplet Carsten Ziegeler
- Re: CForms in a coplet Jon Evans
- RE: CForms in a coplet Carsten Ziegeler
- Re: CForms in a coplet, PATCH Christian Mayrhuber
- Re: CForms in a coplet, PATCH Jon Evans
- Re: CForms in a coplet, PATC... Christian Mayrhuber
- RE: CForms in a coplet, PATC... Carsten Ziegeler
