главная -> статьи -> сетевые приложения | |
Элементы формы
В целом работа с объектами формы не вызывает сомнений, ниже приведен фрагмент кода формирующий список выбора вида животных на основе таблицы базы (раздел Рацион 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 |