настройка размера полей формы, созданных с помощью field.custom.widget - PullRequest
4 голосов
/ 23 декабря 2010

alt text

Я использовал следующий код для создания формы в прикрепленном изображении.Можно ли изменить размер полей в форме.Я хочу уменьшить размер поля ввода Расчетное время и поле выпадающего списка справа от него

{{=form.custom.begin}}
<table>

<table><tr>
<td><b>Type :</b></td><td><div>{{=form.custom.widget.type}}</div></td>
</tr><tr>
<td><b>Title :</b></td><td><div>{{=form.custom.widget.title}}</div></td>
</tr><tr>
<td><b>Description :</b></td><td><div>{{=form.custom.widget.description}}</div></td>
</tr><tr>
<td><b>Estimated Time :</b></td><div'><td>{{=form.custom.widget.estimated_time}}{{=form.custom.widget.estimated_time_unit}}</td> </div>
</tr>
<tr>
<td></td><td><div align='center'>{{=form.custom.submit}}</div></td>
</tr>
</table>

{{=form.custom.end}}

1 Ответ

5 голосов
/ 23 декабря 2010

Да. Можно и есть много способов.

Рекомендованный способ - посмотреть на генерирующую JS. Вы найдете, что это следует за соглашением об именах, описанным в книге. Вы можете использовать CSS, чтобы изменить внешний вид каждого виджета.

input[name=estimate_time] { width:50px }

Точно так же вы можете использовать JS / jQuery (я бы рекомендовал вам сделать это в представлении).

jQuery(document).ready(function(){ jQuery('input[name=estimate_time]').css('width','50px');});

Вы также можете использовать jQuery-подобный синтаксис в python в контроллере:

form.element('input[name=estimate_time]')['_style']='width:50px'
...