Well actually, the readonly="readonly" works! Try it!!! And there are some cases where disabled="disabled" is problematic (binding/saving) and I think something else I can't remember right now (pulldown selections? calendar selections? - can't remember). (note {at-symbol} above must be translated to @ - seems that symbol is not allowed on the archives.)
Sorry, but I really don't know what you're talking about. Is this 'readonly' in the binding? If so, what's the relation with the styling XSLs??
It is in the template file,
<fi:styling> tag. I believe that readonly="readonly" simply gets passed
along as an attribute to the "input" tag and is valid xhtml which the browser
then interprets to be like disabled="disabled", but slightly different. Here's
an example usage:
<ft:widget
id="StatusMessage">
<fi:styling readonly="readonly" type="textarea" rows="4" cols="75" wrap="hard"
class="DocOrdersStatusMessage"/>
</ft:widget>
<fi:styling readonly="readonly" type="textarea" rows="4" cols="75" wrap="hard"
class="DocOrdersStatusMessage"/>
</ft:widget>
Anyway, inserting that small code
segment in the source (see below) and then playing with the samples to disable
the calendar widget will show you what I mean - and try readonly as a styling
attribute to see that at work too. Then try disabling the calendar without my
modifications and you'll notice that the date can be changed, even though the
widget is disabled.
Sylvain
-- Sylvain Wallez Anyware Technologies http://www.apache.org/~sylvain http://www.anyware-tech.com { XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
Also, I have a "2 line" minor tweak to the forms-calendar-styling.xsl that disables the "calendar icon/popup" when a datetype="date" widget is set to readonly, disabled, or hidden (in these cases, we don't want an icon or popup - ESPECIALLY when the widget is supposed to be "hidden").The change was simple, in cocoon/samples/blocks/forms/resources/forms-calendar-styling.xslI added: <xsl:if test="not(fi:{at-symbol}disabled='disabled'] or fi:{at-symbol}readonly='readonly'] or fi:{at-symbol}hidden='hidden'])"> around the calendar HTML anchor.The modified code segment in that file now reads: <!-- calendar popup --> <xsl:if test="not(fi:{at-symbol}disabled='disabled'] or fi:{at-symbol}readonly=readonly'] or fi:{at-symbol}hidden='hidden'])"> <a href="" name="{$id}" id="{$id}" > <img src="" border="0" alt="Calendar"/> </a> </xsl:if>All that I added was the surrounding <xsl:if> block. It works great!!
Should I move this to a separate CONTRIBUTION thread or is this simple
enough that you would just get it into the cvs archive??