RE: readonly inputs when form is submitted

1. Your form has state, and the state can be modelled in the instance or in the UI.
 
- If you are modelling it in the instance data, using an additional instance is perfect for this situation, because you don't have a need to submit that state flag along with the data.
- If you are modeling it in the UI, then you can use switch and toggle, and you can write two separate pieces of UI to show the pre-submission and post-submission states; that way you can change not just whether the fields are inputs or outputs, but you can add or subtract other presentation information at the same time.
Whichever of these options works best for you is the one you should chose :-)
 
2. The state can be changed on the basis of events.  Rafael suggest the xforms-submit event, but I wanted to point out there is a second choice.

This choice is orthogonal to the above choice, because whichever event you listen to, you can do setvalue or toggle. My suggestion for ev:event="xforms-submit" doesn't Rafael suggested changing the flag with an action handler inside submission listening to ev:event="xforms-submit-done".
That will cause the instance data nodes to become readonly when the response comes back from the server.
If you want to have the instance data nodes become readonly when the user presses the submit button, but before the response comes back, use an action handler inside submission listening tev:event="xforms-submit".
 
 So there are 4 possibilities: 2 events and 2 actions.  Choose 1 of those 4.
 
Additionally, if you listen on xforms-submit, you should probably also listen on xforms-submit-error, though in XForms 1.0 there isn't much help for you in deciding what to do.
If it turns out you need anomalous condition handling (i.e., your server didn't like the response), return a 200 and instance data containing data describing the condition, and use xf:group bound to those nodes to display the anomalous conditions.  Returning codes other than 200 leaves the user with few options, at least in XForms 1.0.  If you need more help in this area, please respond to the list.
 
Leigh.

________________________________

From: Iņaki Salinas Bueno [mailto:inksalinas@gmail.com] 
Sent: Tuesday, December 05, 2006 10:51 AM
To: Klotz, Leigh
Cc: Rafael Benito; www-forms
Subject: Re: readonly inputs when form is submitted


So far I have solved it introducing an element, as says Rafael (thanks), although have introduced the element in a new instance because I did not want to corrupt the useful instance with an auxiliary element. 

I would like to know the way to do it directly, without intermediate elements. It seems that the option that Leigh says is direct, but I don't understand it:


Or on ev:event="xforms-submit" inside submission, so it will change before the submit happens instead of afterwards.


Is it a new option or is it an adding to the option commented by Rafael?



Another option is a switch, with a toggle on xforms-submit inside the submission, using a different presentation UI (such as a bunch of outputs) inside the second case of the switch.


It consists of having a twin set of outputs, but bound to the attribute readonly=true, visible based on switch?

Thank you

Iņaki


2006/12/5, Klotz, Leigh <Leigh.Klotz@xerox.com>: 

	Or on ev:event="xforms-submit" inside submission, so it will change before the submit happens instead of afterwards.
	 
	Another option is a switch, with a toggle on xforms-submit inside the submission, using a different presentation UI (such as a bunch of outputs) inside the second case of the switch.
	 
	Leigh.

________________________________

	From: www-forms-request@w3.org [mailto:www-forms-request@w3.org] On Behalf Of Rafael Benito
	Sent: Monday, December 04, 2006 2:10 AM
	To: 'Iņaki Salinas Bueno'; 'www-forms'
	Subject: RE: readonly inputs when form is submitted
	
	
	
	Iņaki,
	 
	A way to do it is to set the XPath expression of the @readonly to an auxiliary data model element with the value false prior to the submission. As the submission is done, you can set an action handler setvalue for the xforms-submit-done and set the auxiliary data model element to true. So the inputs will now be resdonly.
	 
	I hope this helps...
	 
	Regards,
	 
	Rafael Benito


________________________________

		De: www-forms-request@w3.org [mailto:www-forms-request@w3.org] En nombre de Iņaki Salinas Bueno
		Enviado el: viernes, 01 de diciembre de 2006 10:35
		Para: www-forms
		Asunto: readonly inputs when form is submitted
		
		
		I would like to turn inputs to readonly when the form related with its is submitted.
		
		I don't know how can I do it. I try with events but @readonly attribute works with xpath, not with events, it is not thus?
		
		How can I bind @readonly with a trigger, an action or a event?
		
		Thank you
		Iņaki
		

Received on Tuesday, 5 December 2006 19:13:59 UTC