-----BEGIN PGP SIGNED MESSAGE-----
J Cameron Cooper wrote:
> David Ayres wrote:
>> I've been working around this issue for literally years and finally
>> have the
>> time to seek a real solution. :) I can't find much information, so I'm
>> assuming I'm just taking the wrong approach.
>> Whenever a form is posted, the text fields always show up in the
>> request.form, however any other type of form element that has not been
>> a value does not show up. None of the fields have the ignore_empty
>> attribute. Besides using the missing= attribute, what other options are
>> Most of my forms have optional fields and this is especially painful when
>> trying to use ZSQL Methods or when creating multipage forms that
>> refer to earlier form values.
> The specifications for forms only require certain "successful" controls
> to be submitted, and most browsers work this way. This is specially
> noticable with checkboxes, which when on are in the request and absent
> when off. See:
> Frankly, I consider this behavior bizarre and unhelpful, but there's not
> much to be done about it protocol-side. I would imagine there's a
> hstorical reason.
I would be willing to bet (a small amount ;) that the rationale was to
do with conserving bandwidth: a classic "penny wise, pound foolish" error.
Because "hidden" form elements are always submitted, Zope offers a
pattern for dealing with this, most often used with checkboxes:
<form action="process_form_submission" method="POST">
<input type="hidden" name="possibly_missing:default:int"
<input type="checkbox" name="possibly_mission:boolean"
This pattern guarantees that the field will be present in the
REQUEST.form dict: the publisher uses the '...:default' value only if
no other value for that name is present, and strips of the ':default'
suffix during field conversion.
Tres Seaver +1 202-558-7113 [EMAIL PROTECTED]
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
Zope maillist - Zope@zope.org
** No cross posts or HTML encoding! **
(Related lists -