Nuxeo mailing list archives
[CPS-devel] (no subject)
Anahide Tchertchian
at at nuxeo.com
Wed Mar 7 12:09:19 CET 2007
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: at at nuxeo.com - Tel: +33 (0)1 40 33 79 87
http://www.nuxeo.com - http://www.nuxeo.org
This list archive provided by Nuxeo, the
leaders of open source ECM.
Check out the Nuxeo 5 open source,
standards-based ECM project.