Hi I'm looking for a way to pass the values entered in a form (zpt) back to the same page after processing it in a python script. say I have this zpt: ---- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html metal:use-macro="container/index_html/macros/page"> <td metal:fill-slot="body-content"> <h2>Add a new Client</h2> <p> In the form below, you can add New client. the "price" fields (if filled) will be used for calculations in the reports.<br> Please make sure that you check that the client do not exist in the list below! two names of the same client can cause problems when producing reports.<br> </p> <ul> <li>Already defined customers:   <select name="customer"> <option tal:repeat="clients container/show_clients" tal:content="clients/name">Clients</option> </select> </li> </ul> <!-- if there was error processing the request --> <p tal:condition="options/error_message | nothing"> <font color="Red"> ERROR:  <em tal:content="options/error_message">error here</em> </font> </p> <form action="add_client.py" method="post" onSubmit="return validateStandard(this);"> <table cellpadding="5"> <tr align="left"> <th>Customer name:</th> <td><input name="customer" ></td> </tr> <tr align="left"> <td>Price - on site:</td> <td><input name="onsite" size="5"></td> </tr> <tr align="left"> <td>Price - remote:</td> <td><input name="remote" size="5"></td> </tr> <tr align="left"> <td>Price - phone support:</td> <td><input name="phone" size="5"></td> </tr> <tr align="left"> <td><button name="submit" value="submit">Submit Customer</button></td> </tr> </table> </form> </td> </html> ------------------------ and this script: -------------------- ##parameters=REQUEST ##title= ## # parse input from "addclient" form and returns the result. req = REQUEST # if no name was specified if not req.customer: return container.addclient(error_message = "You must specify the customer's name") context.add_client(name = req.customer, onsite = req.onsite, remote = req.remote, phone = req.phone) response = container.clientsubmited(name = customer) return response ---------------------- in case of an error, it re-renders the template with the error above. this works fine, but I want it to keep the values already entered in the form, not to give me a blank form. one way to specify them when calling the template from the script, but in large forms this will result in a very long parameter list. is there one object that holds all the values that I can pass back to the template? thanx -- Haim