You're trying to call youremail out the scope of where it's defined. In the first block the input is within the TD block where youremail is defined. In the second block the youremail is called within another TD block outside of the TD block where youremail has been defined. Something else you may want to think about is to stop using tables for layout control. CSS offers you significantly more control and is much less complex than messing with tables. for example: borrowing some tips from alistapart.com
<tr > <th align="left"> <font size=5><font face="verdana"><b> Your Name: </b></font></font> </th> <td tal:define="yourname request/YourName|nothing"><input type="text" name="YourName" tal:replace="structure python:form.YourName.render(yourname)" /> </td>
<td tal:define="youremail request/YourEmail|nothing"> <font size=5><font face="verdana"><b> Your Email Address: </b></font></font> </td>
<td><input type="text" name="YourEmail" tal:replace="structure python:form.YourEmail.render(youremail)"> </td> </tr>
could become: <div class="row"> <span class="label">Your Name:</span> <span class="fld" tal:define="yourname request/YourName|nothing"> <input type="text" name="YourName" tal:replace="structure python:form.YourName.render(yourname)" /> </span> </div> <div class="row"> <span class="label">Your Email Address:</span> <span class="fld" tal:define="yourname request/YourName|nothing"> <input type="text" name="YourEmail" tal:replace="structure python:form.YourEmail.render(youremail)"> </span> </div> Then if you define your CSS properly you just line to two divs next to each other and you have a continuous row with multiple fields. This also gives you a nice clean seperation of structure vs. look and feel and more flexibility in future maintenance. Using the FONT tag and Tables for layout is for the past and should probably only be used if you absolutely have to support IE4/NS4 and below. Fortunately about 98% of the market right now is IE5+/NS6/Opera. If you absolutely must stick with using the font tag and tables use ONE font tag for formatting <font size="5" face="verdana"> and I believe that most user agents automatically bold any text headers for the table so there's not much sense in using <B> for those elements.
From: pradeep behera <pradeepdeveloper@yahoo.com> To: zope@zope.org Subject: [Zope] control of layout in ZPT Date: Fri, 13 Jun 2003 06:24:04 -0700 (PDT) MIME-Version: 1.0 Received: from mail.python.org ([12.155.117.29]) by mc10-f27.bay6.hotmail.com with Microsoft SMTPSVC(5.0.2195.5600); Fri, 13 Jun 2003 06:25:15 -0700 Received: from localhost.localdomain ([127.0.0.1] helo=mail.python.org)by mail.python.org with esmtp (Exim 4.05)id 19QoYK-00028k-00; Fri, 13 Jun 2003 09:25:12 -0400 Received: from web20710.mail.yahoo.com ([216.136.226.183])by mail.python.org with smtp (Exim 4.05)id 19QoXG-00026G-00for zope@zope.org; Fri, 13 Jun 2003 09:24:06 -0400 Received: from [203.193.149.237] by web20710.mail.yahoo.com via HTTP; Fri, 13 Jun 2003 06:24:04 PDT X-Message-Info: EoYTbT2lH2MsQxQLKd6QGpQxvU17UYmU Message-ID: <20030613132404.73809.qmail@web20710.mail.yahoo.com> X-Spam-Status: No, hits=3.5 required=5.0 tests=BIG_FONT,FROM_BIGISP,HTML_FONT_COLOR_BLUE,MIME_ALTERNATIVE,SPAM_PHRASE_08_13,SPAM_REDIRECTOR X-Spam-Level: *** Sender: zope-admin@zope.org Errors-To: zope-admin@zope.org X-BeenThere: zope@zope.org X-Mailman-Version: 2.0.13 (101270) Precedence: bulk List-Help: <mailto:zope-request@zope.org?subject=help> List-Post: <mailto:zope@zope.org> List-Subscribe: <http://mail.zope.org/mailman/listinfo/zope>,<mailto:zope-request@zope.org?subject=subscribe> List-Id: Users of the Z Object Publishing Environment <zope.zope.org> List-Unsubscribe: <http://mail.zope.org/mailman/listinfo/zope>,<mailto:zope-request@zope.org?subject=unsubscribe> List-Archive: <http://mail.zope.org/pipermail/zope/> Return-Path: zope-admin@zope.org X-OriginalArrivalTime: 13 Jun 2003 13:25:15.0810 (UTC) FILETIME=[39F80820:01C331AF]
Hi,
I want to use formulator for designing my forms. However it does not allow more than one field to be presented in the same row (a requirement for my form).
I am using the example from this URL http://www.zope.org/Members/beno/HowTo/HowTo/Formulator_With_ZPT
The difficulty I am facing is that the sample code uses:
<tr tal:define="yourname request/YourName|nothing"> <th align="left"> <font size=5><font face="verdana"><b> Your Name: </b></font></font> </th> <td><input type="text" name="YourName" tal:replace="structure python:form.YourName.render(yourname)" /> </td> </tr>
for each row. To make 2 fields appear in the same row, i am trying to do this:
<tr > <th align="left"> <font size=5><font face="verdana"><b> Your Name: </b></font></font> </th> <td tal:define="yourname request/YourName|nothing"><input type="text" name="YourName" tal:replace="structure python:form.YourName.render(yourname)" /> </td>
<td tal:define="youremail request/YourEmail|nothing"> <font size=5><font face="verdana"><b> Your Email Address: </b></font></font> </td>
<td><input type="text" name="YourEmail" tal:replace="structure python:form.YourEmail.render(youremail)"> </td> </tr>
However I am getting errors Error Type NameError Error Value name 'youremail' is not defined
Can you please help me resolve this.
Thanks Pradeep
--------------------------------- Do you Yahoo!? Free online calendar with sync to Outlook(TM).
_________________________________________________________________ STOP MORE SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail