经典asp页面上的动态复选框

问题描述:

我在.asp页面上动态创建复选框时遇到了一些麻烦。我使用的是电池的下面的代码indside在桌子上(注意 - rsMaint是一个记录):经典asp页面上的动态复选框

<% 
    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 
+0

什么是'cb1.getChecked()'应该是什么意思?你在哪里打电话? – Tomalak 2011-05-26 20:35:33

+0

另外,你能告诉我们'rsMaint'是什么(因为你使用它的方式,它不是ADO)? – Tomalak 2011-05-26 20:41:10

+0

getChecked()是我见过的用于其他页面的方法,用于检查复选框是否被选中,尽管我现在看到这可能是属于interdev设计时间复选框的方法。另外rsMaint是一个ADO记录集,它从select语句中获取值 – Curtis 2011-05-26 20:56:26

<% 
    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编码。