| главная -> статьи -> сетевые приложения | |
|
Элементы формы
В целом работа с объектами формы не вызывает сомнений, ниже приведен фрагмент кода формирующий список выбора вида животных на основе таблицы базы (раздел Рацион www.agromaster.net/):
<select id="vid" name="vid" style = "width: 130"
onChange="send_form(1)">
<option value = "0">Выберите
<%
dbQuery = "SELECT * FROM anim_vid"
Set animRecset = Server.CreateObject( "ADODB.Recordset" )
Call animRecset.Open(dbQuery, dbConn)
Call animRecset.MoveFirst()
While Not animRecset.EOF
If animRecset("id_vid") = tmp_vid Then
tmp_option = " selected"
Else tmp_option = ""
End If
%>
<option value = <% =animRecset("id_vid")%> <% =tmp_option%> >
<% =animRecset("name")%>
<%
Call animRecset.MoveNext()
Wend
animRecset.Close()
%>
</select>
Выражение If animRecset("id_vid") = tmp_vid Then и
далее предназначено для
сохранения выбора при обновлении страницы в процессе последующей работы с
формой (не акцентируем каким способом сохранена переменная tmp_vid).
Обратите внимание, здесь используются методы MoveFirst() и MoveNext(), но для VBScript набор методов перемещения по записям ограничен по сравнению, например, с VBA. Еще одна тонкость id="vid" name="vid" двойное именование объекта позволяет работать ASP на стороне сервера и javascript на стороне клиента. Более сложные ситуации возникают при необходимости "сборки" сущности из разных таблиц (раздел Технологические карты www.agromaster.net/, список выбора агрегата, который состоит из трактора, например, и прицепного орудия). В подобных случаях можно использовать вложенные циклы просмотра таблиц, хотя это очень неэффективно. |
|
|
© 2007 Сединко А.М.
© 2004 design by kir |