在ASP網頁中實現dropdown控制項動態添加選項

來源:互聯網
上載者:User
動態|控制項|網頁 一、問題的提出
Active Server Pages(ASP)是伺服器端指令碼編寫的環境,它可以組合 HTML 頁、指令碼命令和 ActiveX 組件的功能建立和運行動態、互動的Web應用程式。然而ASP網頁製作中,在使用dropdown下拉選擇框控制項時,通常只能對固定值進行選擇,不能添加新的選項,給實際應用帶來很大的不便。為了增強dropdown控制項具有動態添加選項的功能,本文提供了一種將textbox控制項和dropdown控制項相結合的方法,使dropdown控制項實現了自由添加選項的功能。

二、問題解決的思路
建立一個簡單的資料庫,並配置資料來源,建立與資料庫的串連。當每次訪問asp頁面時,將資料庫中的內容依次寫入dropdown控制項的選擇項中。如果向dropdown控制項中添加新的選項,首先在textbox控制項內輸入新的選項值,並將值添加到資料庫。當再次開啟頁面時,便實現了dropdown控制項動態添加選項的功能。
三、問題的實現
1.建一個簡單的資料庫,以Sql server為例,如以車輛類型為欄位field1,在資料庫中建立車輛類型表table1;
2.配置DSN資料來源串連資料庫
(1)配置DSN資料來源
a、在啟動並執行web伺服器中,開啟控制台
b、雙擊32 ODBC表徵圖,然後選System DSN
c、單擊Add,添加一個DSN入口,選擇一個ODBC Driver如SQL Server,並且擊Finish
d、在Data Source Name 框中,配置好資料來源名如car,然後單擊select選擇相應的資料庫。
e、測試是否串連成功
(2)串連資料庫。利用ActiveX伺服器構件,建立資料庫的串連。資料庫訪問構件使用ADO(Active Data Object)提供Connection對象,可以使用該對象建立和管理應用程式和ODBC資料庫之間的串連。Connection對象具有各種屬性和方法,可以使用它們開啟和關閉資料庫的串連,並且發出查詢請求來更新資訊。例如,下面的指令檔dbconn.inc建立Connection對象,接著開啟資料庫連接:
set ors=server.createobject("adodb.connection")
ors.open "dsn=car;uid=sa;pwd=****"
3.在asp網頁firstweb.asp中添加dropdown及textbox控制項。頁面重新整理時將資料庫中的資料添加至dropdown1控制項的選項欄中,代碼如下:
<!--#include file="dbconn.inc"--> ‘引入資料庫連接檔案,此檔案與firstweb.asp應
’在同一目錄下
<body>
<form name=”form1” method=”post” action="firstweb.asp"> ‘用post方法將form1
’資訊發送到 Web 服務器
<tr> ‘一行的開始
<th align=”right” nowrap width=”35%” >車型:</th>
<td align=”left” nowrap width=”65%”>
<select name=”dropdown1” >
<option value=" " selected>請選擇</option>
<% sql="select field1 from table1" ‘將資料庫中的資料添加至dropdown1控
set orstemp=ors.execute(sql) ‘件的選項欄中
while not orstemp.eof %>
<option value=<%=orstemp(0)%>><%=orstemp(0)%></option>
<%orstemp.movenext
wend
%>
</select> ’引入dropdown下拉框
<input name=”textbox1” value="" > ‘引入textbox文本輸入框
</tr>
</form>
<tr >
<td colspan=2 align=”center” > ‘通過submit按鈕的onclick事件將form1的
‘內容提交
<input type=”image” src=http://www.163design.net/a/f/”img/submit.gif” onclick=document.form1.submit()>
</td>
</tr>
</body>
4.響應onclick事件,將textbox1中添加的值添加至資料庫,在當前網頁添加如下代碼:
<% if request(“textbox1”)<>”” then
sql="select table1 from th000 where field1="&request("textbox1")
set orstempt=ors.execute(sql)
if orstempt.eof then
sqlt="insert into table1 (field1) values('"&request("textbox1")&"')"
ors.execute(sqlt)
end if
end if%> 



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。