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? Thanks! armin -- Armin Wappenschmidt - Consultant Engineer ---------------------------------------------------------------------------- SDRC Ford Program Office SDRC Software und Service GmbH Spessartstrasse (D-MD/PA-2) Martin-Behaim-Strasse 12 D-50725 Koeln-Merkenich D-63263 Neu-Isenburg Phone (+49) 0221-90 33619 Phone (+49) 06102-747-0 Fax (+49) 0221-90 31243 Fax (+49) 06102-747 299 PROFS AWAPPENS mailto:armin.wappenschmidt@sdrc.com ---------------------------------------------------------------------------- _/_/_/_/ _/_/_/ _/_/_/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/_/_/_/ _/ _/ _/_/_/_/ S O F T W A R E U N D S E R V I C E G M B H ----------------------------------------------------------------------------
----- 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
Marcel Preda wrote:
----- 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?
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)">
The conversion from string to int was the problem. Now it works! :) Thanks! armin -- Armin Wappenschmidt - Consultant Engineer ---------------------------------------------------------------------------- SDRC Ford Program Office SDRC Software und Service GmbH Spessartstrasse (D-MD/PA-2) Martin-Behaim-Strasse 12 D-50725 Koeln-Merkenich D-63263 Neu-Isenburg Phone (+49) 0221-90 33619 Phone (+49) 06102-747-0 Fax (+49) 0221-90 31243 Fax (+49) 06102-747 299 PROFS AWAPPENS mailto:armin.wappenschmidt@sdrc.com ---------------------------------------------------------------------------- _/_/_/_/ _/_/_/ _/_/_/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/_/_/_/ _/ _/ _/_/_/_/ S O F T W A R E U N D S E R V I C E G M B H ----------------------------------------------------------------------------
On Tue, 27 Jun 2000, Armin Wappenschmidt wrote:
<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?
If the user input is the value of a field in a form that was submitted, just refer to the name of the form field: <dtml-in "_.range(fieldname,stop,period)"> You can use the special form name syntax to have Zope cast the field value into the appropriate type: <input name="fieldname:int">. There's a howto on the various possabilities for what goes after the ':'. --RDM
participants (3)
-
Armin Wappenschmidt -
Marcel Preda -
R. David Murray