SQLFORM.factory hidden fields are not working the same in 1.99.3 as in 1.99.2. Here is a simple example form = SQLFORM.factory( Field('text_field'), Field('hidden_field', type='hidden', default='test'),)
The hidden field is not hidden. Here is the html produced. The first is from 1.99.2, the second 1.99.3. <input id="no_table_hidden_field" class="hidden" type="text" value="test" name="hidden_field" style="display: none;"> <input id="no_table_hidden_field" class="string" type="text" value="test" name="hidden_field"> If I use readable=False, writable=False, the field is hidden from the display but then no input is created for it. I have javascript code accessing the hidden input value. I can probably work around the problem using this syntax. form = SQLFORM.factory( Field('text_field'), hidden={'hidden_field': 'test'}) However, the input produced has no id or class attribute which I was using. <input value="test" name="hidden_field" type="hidden"> Is what I'm seeing a bug or was the Field(... type='hidden'...) syntax never intended to work?