Resolved?
Em quinta-feira, 30 de junho de 2016 18:23:47 UTC-3, Jing Lu escreveu:
>
> OK, i figure it out by adding a hidden function to generate the form.
>
> On Wednesday, June 22, 2016 at 1:23:56 PM UTC-4, Jing Lu wrote:
>>
>> Hi Web2py developers,
>>
>> I have a trivial question, but I don't know how to solve. My index.html
>> has a form with some default parameters. I get the input from users and
>> save it to sessions and then redirect them to the next page with the same
>> form having the input data from users. However, I don't know how to update
>> the form. I tried the update() function, but doesn't seem to work. Here is
>> my code:
>>
>> In default.py
>>
>> def index():
>> form=FORM(DIV(LABEL(T("Parent Drug:"))),
>> DIV(INPUT(_name="_drugsmile", _value="CCCCP")),
>> DIV(LABEL(T("MS/MS Peaks:"))),
>> DIV(TEXTAREA("1231 12431", _name="_peaks", _cols="20",
>> _rows="5")),
>> DIV(LABEL(T("Ion Mode:"))),
>> DIV(DIV(INPUT(_type="radio", _name="_ionmode",
>> _value="Positive", _checked="checked"),
>> SPAN("Positive")),DIV(INPUT(_type="radio", _name="_ionmode",
>> _value="Negative"), SPAN("Negative"))),
>> DIV(LABEL(T("Mass Tolerance (Da):"))),
>> DIV(INPUT(_name="_masstol", _value="0.04")),
>> DIV(LABEL(T("Mass Error (ppm):"))),
>> DIV(INPUT(_name="_masserror", _value="40")),
>> DIV(INPUT(_type='submit')))
>> if form.process().accepted:
>> session.flash = 'form accepted'
>> form.accepts(form.vars, session=session)
>> session.drug_info = form.vars
>> session.form = form.update() # form.update(form.vars) doesn't work,
>> I am not sure why....
>>
>> redirect(URL('infodisplay'))
>> elif form.errors:
>> response.flash = 'form has errors'
>> else:
>> response.flash = 'please fill the form'
>> return {"form": form}
>>
>>
>> the function I redirect to
>>
>>
>> def infodisplay():
>> # TODO
>> return dict(form=session.form, druginfo=session.drug_info)
>>
>>
>>
>> # The view
>>
>> # It is a little bit of weired for my layout.html, because I want to update
>> both left sidebar and main section, but I think I cannot use two {{include}}
>> for here
>>
>> # So, what I did is include left sidebar from default, like this
>>
>>
>> {{if left_sidebar_enabled:}}
>> <div class="col-md-3 left-sidebar">
>> {{block left_sidebar}}
>> {{include 'default/leftbar.html'}}
>> {{end}}
>> </div>
>> {{pass}}
>>
>>
>> # for infodisplay, I have
>>
>>
>> {{extend 'layout.html'}}
>> {{=druginfo}}
>>
>>
>> Thanks
>>
>>
>>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.