> Unfortunately, I do no longer have that inside view of CForms. But I > wonder if you have access to the Java API. ContainerWidgets like Form > have a method getChildren() returning an Iterator. With it you can > traverse the form model recursively and store the values by the widgets' > getFullName(). > > pseudo code: > > storeValue(formObject.getModel()); > > function storeValue(model) { > if (model instanceof ContainerWidget) { > for (children in model.getChildren()) { > storeValue(children); > } > } else { > // use model.getFullName() and model.getValue() for storing > } > } >
I do. But for example dataModel.getChildren() is not defined (throws an error). Maybe I'm too stupid to find the right class. In Form.js, it says function Form(formDefinition) { ... this.formWidget = new Widget(this.form); ... } Form.prototype.getModel = function() { return this.formWidget; } So the returned object must be of class Widget. I found a JavaAdapter-thing with a Java-interface in Widget.java (lies in src.blocks.forms.java.org.apache.cocoon.forms.formmodel) and the corresponding Widget.js (lies in src\blocks\ajax\resources\org\apache\cocoon\dojo\resources\dojo-0.3.1-widget\src\widget). (I assume - am I wrong?) But I can't call the functions defined there, so it must be the wrong class. The toString()-method of my object likely returns something else than defined there. Seems like I've been barking at the wrong tree, but where shall I look for that class? > I only wonder how you get the data back into the form model after the > continuation gets called. Is there some pageLocal.restoreState() in > which you can write your loadValue() code? Actually I don't know how that PageLocal-object works, but it sets back itself. I do not trigger that explicitly. I assume the pageLocla.object saves a state of himself referenced by the continuation-id. But this is only an assumption. > > Also the above looks very much like some data binding. Maybe you can > just reuse the binding framework. What do you mean by that? > > > This doesn't work, because it seems to be a Java object. > > I found out, that the dataModel-Object must be an instance of Widget. > > But in Widget.java I cannot find how the values are held. > > Can't follow this part. Is this the same idea I outlined above - and it > does not work? And for what reason? Widget hast a method getValue(). Yes, I wanted to say, that reading the values in a loop doesn't work. And getValue should return the value of a inner(e.g. a field-widget) widget, so I don’t understand why using it here. ? > > Hope this helps, > > Joerg > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] So, where is the class definition of the object that is returned by formModel.getModel() ? Regards, Franzi PS: And thanks a lot for your help and your trying to understand my problem so far. I appreciate that very much and hope you won't give up soon... ;) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]