Динамические флажки на классической странице ASP - PullRequest
1 голос
/ 27 мая 2011

У меня возникли проблемы с динамическим созданием флажков на странице .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
    %>

Это работает для создания моих флажков, и я могу просмотреть источник и увидеть, что у них есть идентификаторыcb1, cb2, cb3 и т. д. Я получаю объект не существует ошибка, если я пытаюсь сделать:

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

1 Ответ

3 голосов
/ 27 мая 2011
<%
  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-кодировки.

...