考試系統之填空題 實現方法

2021-04-01 09:49:21 字數 2041 閱讀 5226

做乙個考試系統,客戶要求要有填空題,實現的過程中可謂費盡周折,在這裡說一說實現的過程。

1、出題的時候,將需要填空的部分用固定長度的下劃線表示,儲存到資料庫中,欄位名字為stnr

2、取出stnr,用分割函式以固定長度的下劃線為分隔符,將除填空部分以外的字串搞到乙個陣列裡,然後迴圈取出這個陣列裡每乙個值並上賦給字串str,再用table.innerhtml=str,這樣就將考題輸出到**裡了,填空的部分被替換成文字框

---------------------xx.aspx.vb-----------------

private sub create()

dim str as string

str = dv.item(0).item("stnr").tostring.trim

dim a() as string

a = split(str, "_____", -1, ***paremethod.text)

dim i as int16

dim str1 as string

for i = 0 to a.length - 2

if ***ab.count > 0 then

dim strdab as string

strdab = ***ab.item(0).item("da").tostring.trim

dim s() as string

s = split(strdab, "|", -1, ***paremethod.text)

str1 = str1 & a(i) & ""

else

str1 = str1 & a(i) & ""

end if

next

'textcount記錄了填空的個數,傳遞給js執行迴圈

textcount.value = a.length - 1

td2.innerhtml = str1 & a(a.length - 1)

end sub

3、接下來就是取這些文字框的值了,剛開始的時候嘗試request.from('')取不到值,用page.findcontrols也找不到這些文字框,之前我讓他們都runat=server的,很是奇怪。最後想到了用js,js迴圈取值後將所有文字框中的值加個分隔符並到乙個hidden控建裡,然後由asp.***來跟標準答案作比較,評分

------------------xx.aspx----------------

function aa(){

var count=document.all("textcount").value;

var hiddentext = "";

for(i=0;i————————xx.aspx.vb——————————

public sub point()

dim i() as string

dim a as int16

da = da.remove(0, 1)

i = split(da, ",", -1, ***paremethod.text)

dim ii() as string

ii = split(dvtk.item(0).item("stda2"), ",", -1, ***paremethod.text)

dim fs2 as single

for a = 0 to i.length - 1

if i(a) = ii(a) then

fs2 = dvscsj.item(0).item("xtfs") / ii.length

else

fs2 = 0

end if

fs += fs2

next

end sub

4、補充一點,由於我的button執行事件的時候需要先執行aa()函式,然後才能提交到伺服器,所以建立了乙個input type=submit οnclick=」aa()」 onserverclick=」point」

5、再補充一點,提交之後,文字框中的內容會被清空,但是資料已經卻提交到伺服器,我就重新執行一次create(),至此,問題全部解決。

**質量比較差,歡迎指教!

考試系統完型填空題優化

最近在對考試系統進行優化,其中有乙個要進行優化的問題就是英語試題中的完型填空題型。參加傳統考試時,在試卷上完型題呈現的形式基本上是題幹 要填寫的空缺 空缺處一些可選答案。當然傳統考試答題卡也是不可缺少的。所以在考試系統 3.5中處理這樣的問題自然而然就是模仿傳統試卷考試樣式,首先載入的是題幹,當然題...

微控制器期末考試填空題彙總

微控制器填空題彙總 1.微控制器是將 cpu 儲存器 以及i o口 定時器整合在一塊晶元上。2.2位16進製制最多可以表示256儲存單元。3.cpu訪問片外儲存器時,其低八位位址由 p0 提供,高八位由 p2 提供,8位資料由 p0 提供。4.當系統正處於正常工作狀態且 穩定後,在rst加乙個 高 ...

36 藍橋杯之跳蚱蜢(填空題)

有9只盤子,排成1個圓圈。其中8只盤子內裝著8只蚱蜢,有乙個是空盤。我們把這些蚱蜢順時針編號為 1 8 每只蚱蜢都可以跳到相鄰的空盤中,也可以再用點力,越過乙個相鄰的蚱蜢跳到空盤中。請你計算一下,如果要使得蚱蜢們的隊形改為按照逆時針排列,並且保持空盤的位置不變 也就是1 8換位,2 7換位,至少要經...