I personally don't agree with using javascript to set properties like
that. I remove these lines from web2py_ajax.html:
jQuery('input.string').attr('size',50);
jQuery('textarea.text').attr('cols',50).attr('rows',10);
Then use custom widgets or just set the properties if the form
elements directly:
form = SQLFORM(...)
txt = form.elements("textarea",_class="text")
for t in txt:
t['_cols'] = 10
Or with a widget:
def textarea_factory(**attr):
def fn(f,v):
return SQLFORM.widgets.text.widget(f,v,**attr)
return fn
form = SQLFORM.factory(Field('test','text',widget=textarea_factory
(_cols=40,_rows=15)))
db.table.field.widget = textarea_factory(_cols=10)