Johannes You're a star! That's exactly what I needed to do. You think that having used XSL for n years, I would be used to adding a $ to the variable name...
Derek >>> [EMAIL PROTECTED] 2004/06/21 01:32:56 PM >>> Hi Derek, now while trying out your code I discovered something that really has nothing to do with CForms: <jx:forEach var="thisTheme" items="atheme"> <li>A Selection 1: ${atheme}</li> </jx:forEach> the syntax is simply wrong. it should say <jx:forEach var="thisTheme" items="${atheme}"> <li>A Selection 1: ${thisTheme}</li> </jx:forEach> now this should help ;) Derek Hohls wrote: >Johannes > >Still no luck - I have tried adding in some more variables >to test; and it looks like the values are being stored in >the array OK... > > var values = Array(); > > for( i = 0; i < model.theme.length ; i ++ ) > values[i] = model.theme[i]; > > var test0 = values[0]; > var test1 = values[1]; > > cocoon.sendPage("ijx-page", { "atheme":values, "theme":values, >"test0":test0; "test1":test1 }); > >The output for test0 or test1 matches the mulivalue widget >selection BUT the "values" output in the JX for-each loop is >still the strange references as before... > >What else to try ?? >Derek > > > >>>>[EMAIL PROTECTED] 2004/06/21 11:49:16 AM >>> >>>> >>>> >Derek, > >I actually don't use the values this way, I insert them directly into >the database >after the form was submitted. >Let's examine your code though, since you should be able to use the >values in jxt >as well. > > var model = form.getModel(); > var atheme = model.theme; /* theme is multiselect box */ > cocoon.sendPage("jxpage", { "atheme":atheme, "theme":model.theme }); > >There is something subtile here. "model.theme" is an object of type >ScriptableWidget, >so JXT will be confused when you pass it as a collection. (and print >out the "value" >[EMAIL PROTECTED]) > >I suggest retrieving the values to a native JavaScript array and >passing that one >to JXT. > > var model = form.getModel(); > var values = Array(); > for( i = 0; i < model.theme.length ; i ++ ) > values[i] = model.theme[i]; > cocoon.sendPage("jxpage", { "atheme":values, "theme":values }); > >Does this work? It's just the solution to my problem applied in the >opposite direction :) > >HTH, Johannes > >Derek Hohls wrote: > > > >>Johannes >> >>I have tried what you suggested - the problem >>is displaying the results in the JXTemplate - could >>you please post your code snippet, as what I have >>tried does not work.... >> >>ie. >> >>in flowscript: >> >>var model = form.getModel(); >> var atheme = model.theme; /* theme is multiselect box */ >> cocoon.sendPage("jxpage", { "atheme":atheme, "theme":model.theme >>}); >> >>in jxtemplate: >> >> <jx:forEach var="thisTheme" items="theme"> >> <li>Selection: ${theme}</li> >> </jx:forEach> >> >> <jx:forEach var="thisTheme" items="atheme"> >> <li>A Selection 1: ${atheme}</li> >> </jx:forEach> >> >> <jx:forEach var="thisTheme" items="atheme"> >> <li>A Selection 2: ${thisTheme}</li> >> </jx:forEach> >> >>in output html: >> >>Selection: >>[EMAIL PROTECTED] >>A Selection 1: >>[EMAIL PROTECTED] >>A Selection 2: >>[EMAIL PROTECTED] >> >>I am obviously missing some crucial conversion ?! >> >>Thanks >>Derek >> >> >> >> >> >>>>>[EMAIL PROTECTED] 2004/06/21 08:35:47 AM >>> >>>>> >>>>> >>>>> >>>>> >>Hi Derek + all, >> >>I got this solved in the meantime. Actually I had to create a >>temporary >>array and then set the multivalue model to this array: >> >>var model = form.getModel(); >> >>var rubriken = Array(); >> >>for( i = 0 ; i < size ; i ++ ) >> rubriken[i] = new java.lang.Integer(val[i]); >> >>model.rubriken = rubriken; >> >>Notice the difference to the code quoted below: Modifying the model >>directly did NOT work, as it is actually an object of type widget and >> >> > > > >>something >>gets messed up. This is because internally, a setter method is called >>when >>assigning something to model.rubriken. Took me some hours to figure >>this >>out, as I'm a CForms beginner :) >> >>I think I will put a stripped-down version of my article management >> >> >on > > >>the >>wiki when I'm done - it's based on CForms + Woody + Hibernate and >> >> >uses > > >>a few more widgets than the present sample. >> >>Derek, you can read values from the model like this: >> >>var model = form.getModel(); >>var vals = model.rubriken // retrieve array from multivalue widgets >> >>Now, vals is an array which contains all the values of the options >>selected by >>the user. >> >>Derek Hohls wrote: >> >> >> >> >> >>>And maybe the same person knows how to >>>*get* the values from the CForm multivalue widget >>>and display them using a JXTemplate loop?? >>> >>>A sample showing both of these would be *very* >>>helpful and (IMO) needs to be a part of the >>>Cocoon forms samples. >>> >>>Thanks >>>Derek >>> >>> >>> >>> >>> >>> >>> >>>>>>[EMAIL PROTECTED] 2004/06/20 09:25:06 PM >>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>Hi all, >>> >>>I'm going nuts trying to set values in a CForm multivalue widget. >>> >>>I obtained the Form model with: >>> >>>var model = form.getModel(); >>> >>>Then I tried to set the values like this: >>> >>>model.rubriken = Array(size); >>>for( i = 0 ; i < size; i++) >>> model.rubriken[i] = new java.lang.Integer(val[i]); >>> >>>When size=0, everything is fine. Otherwise, I get >>> >>>Cannot set value of field "rubriken" with an object of type >>>org.mozilla.javascript.UniqueTag >>> >>>When I omit the array declaration, I get null pointer exceptions. >>> >>>Has anybody done this and can explain me how ? >>> >>>TIA, Johannes >>> >>> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]