I want to embed web2py forms in a static website (same domain) and keep the static part as simple as possible.
Currently I have this in the static website: <div id="form"></div> <script type="text/javascript">$("#form").load("path/to/web2py/app");</script> And this in the web2py app: def email(): script = """ $("#contact_form").submit(function(event) { $.post(this.action, $(this).serialize(), function(response) { $("#contact_form").replaceWith(response); }); return false; });""" form = FORM( SCRIPT(script), TABLE( TR('Message:', TEXTAREA(_name='message', requires=IS_NOT_EMPTY())), TR('', INPUT(_type='submit')), ), _action=URL(), _id='contact_form' ) if form.accepts(request): # process result ... return 'Message received' else: return form.xml() The key part is: $("#contact_form").replaceWith(response); Each AJAX request the form is replaced with the latest response, which is either a form with errors or the success message. This works as expected, but is there a better way to do this? Richard