Hi Vineet, Could you share your successful implementation of the code?
in my controller i have the following: def index(): msg="wait" form_main=FORM(INPUT(_type='submit', value="RUN"), INPUT(_name='text'), ) if form_main.accepts(request.vars,formname='form_main'): msg=wait(form_main.vars.text) return dict(msg=msg) def wait(some_text): import time time.sleep(10) msg=some_text return (msg) in my view: <form enctype="multipart/form-data" action="{{=URL()}}" method="post" align="left"> <input name="_formname" type="hidden" value="form_main"> <label>Type something and click RUN: <input name="text" requires=IS_NOT_EMPTY()></label> <input type="submit" value="RUN"> </form> <br/> <div> {{=msg}} </div> so basically i have a text box where user enters some text, then the controller simply takes the text and runs a wait function before returing the text to view. I am trying to implement the said loading.gif during the function wait is on-going. Could you please advice? I have very limited knowledge on Ajax. On Thursday, 13 October 2011 22:18:02 UTC+8, Vineet wrote: > > @juanduke, @Paolo, > > Thanks for sharing your time & ideas. > I successfully implemented your idea by juanduke. > The url -- http://www.ajaxload.info/ is excellent. > > Regarding Paolo's code, I need to re-structure my code somewhat (which > I will definitely do). > Then I will implement the idea. > In case of any query, I'll post it here. > > Thanks again. > ---Vineet > > On Oct 13, 12:05 am, Paolo Caruccio <paolo.carucci...@gmail.com> > wrote: > > Hi Vineet, > > > > as juanduke has suggested, I use the following jquery function (I put it > in > > web2py_ayax.js) instead of standard w2p ajax function to show a loading > > image: > > > > function web2py_polling(u,s,t){ > > $('#'+t).html('<div id="loading_gif_container"><img > > src="/static/images/loading.gif" alt="loading..." height="64" width="64" > > /></div>'); > > ajax(u,s,t); > > > > } > > > > Of course you can set some css rules to custom > div#loading_gif_container. > > > > How to use: > > I insert at the bottom of the view : > > > > <script type="text/javascript" charset="utf-8"> > > //<!-- > > jQuery(document).ready(function(){ > > web2py_polling('get_output',[args],'output_target'); > > //--> > > </script> > > > > ### controller ### > > > > def get_output(): > > the_output = "I'm the output" > > return the_output > > > > You could also use a standard ajax call to a function that returns > > web2py_polling function that, optionally, calls another action. > > > > For example: > > > > ### in the view ### > > > > <script type="text/javascript" charset="utf-8"> > > //<!-- > > jQuery(document).ready(function(){ > > ajax('get_output',[args],':eval'); > > //--> > > </script> > > > > ### controller ### > > > > def get_output(): > > # make evaluation > > return "web2py_polling('another_action',[args],'output_target');" > > > > def another_action(): > > the_output = "I'm the output" > > return the_output > > > > Ciao. > > > > Paolo -- 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.