0

我正在尝试连续添加三个标签和三个控件。

代码

<html>
 <body>
    <table class="shadedTable4" width="100%" border="0" cellspacing="0" cellpadding="0" style="border-collapse:collapse;">
<tr border="1">
<td>
<input type =checkbox name="ChildCheck" id="ChildCheck" value="1"/>&nbsp;&nbsp;<b>Apply  to all fields</b>&nbsp;&nbsp;</td>
<td><input class="FullTextArea" id="applyfieldscontrol" name="applyfieldscontrol" style="overflow-x:hidden;height:44px;" value="" rows="5" cols="10" >                    
</input>
</td>
</tr>
            <tr>
                <% 
                dim CountFlg
                CountFlg = 0
                for i=0 to XmlNodes.length-1
                    if CountFlg <= 2 then %>
                        <td class="style3" >
                            <span class="style4">
                                <b><%=XmlNodes.item(i).getAttribute("Name")%></b>
                            </span>&nbsp;
                        </td>
                        <TD>
                            <input class="FullTextArea" name="<% i % >" id="<% i %>" style="height:35px;overflow:auto;padding-left:80px;" rows="5"cols="10"> </input>
                        </TD>
                        <% CountFlg=CountFlg+1
                    end if
                next%>
            </tr>       
     </table>
    </body>
 </html>

这里 XmlNodes 将有超过 3 个 xml 节点。

所以我要做的是,连续显示三个,在三个之后,下一行将再有三个标签+控件(TextArea)等等。

是否有更好的逻辑来实现这一点?

请给我一些答案。

4

1 回答 1

1

在您的代码中,您的语句“如果 CountFlg <= 2 then”导致第三个节点之后的任何内容不显示。以下代码将在每个第三个节点之后创建一个新表行。它通过简单地查看“i”是否是 3 的倍数来工作。

<html>
    <body>
        <table>
            <tr>
                <% For i = 0 To XmlNodes.Length - 1 
                    if (i / 3) = Int(i / 3) Then %> 
            </tr>
            <tr>
                    <% End If %>
                <td class="style3" >
                    <span class="style4">
                        <b><%= XmlNodes.item(i).getAttribute("Name") %></b>
                    </span>&nbsp;
                </td>
                <td>
                    <input class="FullTextArea" style="height:35px;overflow:auto;padding-left:80px;" rows="5"cols="10" />
                </td>
                <% Next %>
            </tr>
        </table>
    </body>
</html>

注意。您的示例中还缺少 TABLE 标记,正如其他人所提到的,您在 BODY 标记之前关闭了 HTML。

于 2012-09-21T04:49:34.710 回答