Динамические флажки на классической странице 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-кодирования.