----- Original Message ----- From: Armin Wappenschmidt <awappens@ford.com> To: <zope@zope.org> Sent: Tuesday, June 27, 2000 10:50 AM Subject: [Zope] range with variables
Hi all,
I've a problem using the following dtml construct:
<dtml-let start=Variable_from_Formular> # <-- that's the problem!!!!!! <dtml-let stop="100"> <dtml-let period="5"> <dtml-in "_.range(start,stop,period)"> <dtml-comment> do something </dtml-comment> </dtml-in> </dtml-let> </dtml-let> </dtml-let>
How can I set the variable "start" from a user given input?
You can call http://www.domain.com/index?startindex=101 or you can do this bay a usual FORM <FORM> <INPUT TYPE="TEXT" NAME="startindex"> ... <input TYPE=SUBMIT> </FORM> The problem is that in both cases the `startindex' is a string, you have tu convert it to int. <dtml-call "REQUEST.set('start_int',_.string.atoi(startindex)"> ATENTION: If 'startindex' is not a valid number the `atoi' method will rise an exception like: Error Type: ValueError Eror value: invalid literal for atoi(): So is better to check first, something like: <dtml-try> <dtml-call "REQUEST.set('startindex_int',_.string.atoi(startindex)"> <dtml-except> Error message - INVALID NUMBER </dtml-try> Other way is to force `startindex' to be a int like: <FORM> <INPUT TYPE="TEXT" NAME="startindex:int"> ... <input TYPE=SUBMIT> </FORM> But you could have problems, an exception like above could occur (if someone will input an invalid number) and you can not do something. That's the story. PM