Georges Racinet a écrit :
On Mar 7, 2007, at 10:38 AM, Winterflood, Jonathan wrote:
Hi all,
I'm developping a product, and in one of my form processing scripts,
I'm having to handle a number of checkboxes with the same name,
say,'boxname'.
In the context.REQUEST.form dictionary, I have this:
with only one box ticked, dict['boxname'] is 'value_of_the_box'
with multiple boxes ticked, dict['boxname'] is a list of these values
I'm trying to change the single string to a one-element list, however,
I can't test the type of the value...
Whenever I try to use the __class__ attribute, my script won't compile
in Zope ( "__class__ is an invalid attribute" ...)
Therefore I can't test whether I have a list or a string.
I would use isinstance(val,list), but 'list' seems to behave as though
it was 'list()' inside Zope, instead of giving me <type 'list'>
Both these work in a python console... I'm obviously missing
something, but what?
Aah, restricted code :-) You can't access all attributes, and some other
magic occurs.
Sometimes, it's not homogeneous to current Python. I don't know about
lists, but I do know that you can't use 'set' (appeared in
python 2.4).
Is there a better way?
Anyway, I think that if you explicit specify type your input in the
html <input name=l"ist:boxname"> then you should get a list no matter what.
I'm not 100% sure, but you should give it a try.
Yes it works, except it's <input name="boxname:list" ...(type="checkbox,
etc.") />.
You can even add <input type="hidden" name="boxname:tokens:default" />
if you'd like to get 'boxname' in the request form even if no checkbox
is selected. Using "tokens:default" will set it to an empty list.
Regards,
--
Anahide Tchertchian, Nuxeo
Mail: [EMAIL PROTECTED] - Tel: +33 (0)1 40 33 79 87
http://www.nuxeo.com - http://www.nuxeo.org
_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel