That worked perfectly. Thanks!
On Thursday, March 22, 2012 3:06:37 PM UTC-4, Anthony wrote: > > Something like: > > db.mytable.myfield.default = 'some\ntext\nwith\nline\​nbreaks' > db.mytable.myfield.represent = lambda v, r: XML(v.replace('\n', '<br />')) > db.mytable.myfield.writable = False > > With writable=False, no value will actually be submitted with the form -- > the default value will simply be inserted with the new record. However, the > represent function will be used to display the read-only value on the form. > Note, you can also specify the above three attributes directly in the > initial field definition: > > db.define_table('mytable', > Field('myfield', default=..., represent=..., writable=False)) > > Note, in the represent function, it is necessary to wrap the value in > XML() so the <br /> doesn't get escaped when serialized in the response > body. > > Anthony > > On Thursday, March 22, 2012 1:52:25 PM UTC-4, Brian F wrote: >> >> I am prefilling a field in an SQLForm, but there are other fields that >> the user will fill out. The text I am prefilling I would like to display, >> but not allow the user to edit it. I am setting the writable to false, but >> the problem is the text I am filling with has multiple lines >> all separated by newlines(\n). I need to keep the newlines because this >> data will eventually be pulled out of the database, put into a file, and >> then loaded on some hardware, so replacing the '\n' with <br> isn't really >> an option. The problem is by setting writable to false, it converts the >> text just to normal html text which doesn't understand newlines. I would >> like to either put the data into a textarea, but I will need to disable it >> so the user can't modify it, or figure out a way to replace the newlines >> with <br> but only on the html page, and make sure newlines are entered in >> the database. >> >> Any help is greatly appreciated.Thanks! >> >