hello, did you ever find a better solution for this? I want to do the same thing
On Monday, September 30, 2013 at 11:33:57 AM UTC+2, step wrote: > > I want to use SQLFORM.grid with selectable checkboxes to serve a custom > export function. Unlike web2py's default exportformats manager, which > triggers each exporter function to an <a> tag, I want my exporter to > trigger when the user clicks the form submit button. So the user flow > involves ticking some grid row checkboxes, clicking submit, getting a Save > As dialog, and finally saving the downloaded export data as a local file. > > controller: > def export_rows(selected_ids): > def export(): > ret = [] > rows = db(db.mytable.id.belongs(selected_ids).select() > for row in rows: > ret.append('%s\r\n' % myformatter(row)) > return ret > > > fileext = 'tab' > content_type = "text/tab-separated-values" > filename = '.'.join(('test', file_ext)) > response.headers['Content-Type'] = content_type > response.headers['Content-Disposition'] = \ > 'attachment;filename=' + filename + ';' > raise HTTP(200, export(), **response.headers) > > > return dict(grid = SQLFORM.grid(db.mytable, selectable=export_rows)) > > > The above code works to export the rows according to the user flow. > However, web2py.js disables the submit button when the user clicks it and > the button is never re-enabled, because raise HTTP transfers control away > from the page and back to web2py, so the page is never refreshed. > How to re-enable the submit button, or not disable it to begin with? > TIA > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.