Right, but that's exactly what I want to avoid. I don't want the user
to see that there is a field there.
Example: flickr. By default you see only text for photos except the
ones you own.. then the field becomes editable if you click on it.
Thanks,
Geoffeg
On Sep 16, 2007, at 11:23 PM, Paul Benedict wrote:
Struts 1.3 contains a readonly attribute on the Form element. If
you set it
to true, all inner components will render without the ability to
accept
input. Much easier than you think :)
Paul
On 9/14/07, Angelo zerr <[EMAIL PROTECTED]> wrote:
Hi,
You could use Formview Taglib. See at http://
formview.sourceforge.net/
With Formview you can manage any fields mode (READONLY, READWRITE,
INVISIBLE...)
on server side. With Formview you must not use javascript or not
use a lot
of logic:equal.
For instance of you have JSP, like this :
<formview:page>
<!-- HTML input text -->
<input type="text" name="project" value="Struts Project" />
<!-- Struts HTML input text -->
<html:text property="projectDate" />
.... other JSP taglib....
</formview:page>
You set READ state on server side with WEBFormViewUtil class (see
documentation)
and after HTML generated is :
<!-- HTML input text -->
<input type="text" name="project" value="Struts Project"
readonly="readonly"/>
<!-- Struts HTML input text -->
<input type="text" name="projectDate" value=""
readonly="readonly"/>
....
With Formview you can mange
* role http://formview.sourceforge.net/roles.html (display field
switch
role)
* errors http://formview.sourceforge.net/errors.html (to set the
brakground
color of field with red color).
With Formview you manage any state (CREATE, UPDATE..) and any mode
(READONLY...).
You choose the HTML generated that you want switch state ans mode
and HTML
element type (select, input...)
See at http://formview.sourceforge.net/developer-guide.html
Regards Angelo
2007/9/14, Geoffrey Gallaway <[EMAIL PROTECTED]>:
Hello,
I've been looking for a solution that allows me to create form and
read-only versions of the same page. Each page will have a version
where a logged-in user can enter the data and a version where a non
logged in user will only be able to view the data. This is my
current
solution:
<logic:equal name="readOnly" value="true">
<bean:write name="myFormBean" property="firstName"/>
</logic:equal>
<logic:equal name="readOnly" value="false">
<html:text property="firstName" maxlength="100"
styleClass="textInput"/>
</logic:equal>
That's 6 lines of code for what only needs to be 1 or 2 lines of
code. It would be 8 lines if I wrapped it in a logic:present tag to
prevent errors if readOnly doesn't get set in the action.
I've received suggestions such as "just set the field to read-
only or
disabled" but I don't want the user to see the form-elements. I've
also been told to use javascript and spin through each field on page
load. I don't like relying on javascript for this kind of problem.
I've considered extending the standard struts html taglib to allow
for a "editMode" tag but if someone has already come up with a good
solution I'd like to hear about it.
Thanks,
Geoffeg
--------------------------------------------------------------------
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]