1

我在 .asp 页面上动态创建复选框时遇到了一些问题。我在表格的单元格内使用以下代码(注意 - rsMaint 是一个记录集):

<%
    if not rsMaint.EOF then     
    rsMaint.moveFirst

    index = 1
%>
    <%
        do while not rsMaint.EOF                
    %>
    <% 
        Response.Write(CreateLabel(rsMaint.fields.getValue("name"),0) )         
        Response.Write("<INPUT type=""checkbox"" id=cb" & index & " value=" & rsMaint.fields.getValue("template_id") & ">")

            rsMaint.moveNext()  
            index = index + 1
            loop
    %>

这可以找到创建我的复选框,我可以查看源代码并查看它们是否具有 id 的 cb1、cb2、cb3 等。如果我尝试这样做,我会得到一个对象不存在错误:

if cb1.getChecked() = true Then
...
end if 
4

1 回答 1

3
<%
  rsMaint.moveFirst
  index = 1

  While Not rsMaint.EOF                
    val = rsMaint.fields.getValue("template_id")

    Response.Write(CreateLabel(rsMaint.fields.getValue("name"),0) )         
    Response.Write("<INPUT type=""checkbox"" id="""cb" & index & """" & _
                   " name="""checkbox_" & index & """" & _
                   " value=""" & Server.HTMLEncode(val) & """>")

    rsMaint.moveNext()  
    index = index + 1
  Wend
%>

稍后,当用户发回表单时,您可以执行

<%
  If Request("checkbox_1") > "" Then 
    ''# ...
  End If
%>

请注意,您绝不能未先对其进行 HTML 编码的情况下输出数据值。

于 2011-05-26T21:53:11.927 回答