[Zope] dynamic form checkbox data

J Cameron Cooper jccooper@jcameroncooper.com
Mon, 10 Mar 2003 14:04:21 -0600


>
>
>I have a form which has (dynamically-generated)
>checkboxes (from database rows).
>
>these are of the form:
><input type=checkbox name="ismember:list:string"
>checked><dtml-var sequence-var-name>
>(some do not default to checked).
>
>When I'm processing the form data, the list contains
>data for only those that are checked (i.e. no list if
>none are checked, a short list if some are checked).
>  
>
That's a tricky issue with web programming in general: a form will only 
report a value for a check box when it is checked, and otherwise will 
ignore it. There are two common ways out:

1) drop the checkbox and use radio buttons (or perhaps some other 
widget), which will guarantee a return value.
1b) add a hidden field for each question, and count an affirmative only 
when you get the hidden field and the interactive checkbox's value.

2) somehow know server-side what your questions would have been and 
compare the returned "affirmative" responses.

Number 2 is more work, but better with regards to security (you can't 
trust users to exclusively use your form) and allows you to keep your 
existing aesthetic (as opposed to #1).

I suppose there's also some monkey business you could do with 
JavaScript, but I don't really care enough to check on that.

       --jcc