Динамические флажки на классической странице ASP

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

Решение
<%
  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-кодирования.

Другие вопросы по тегам