做乙個考試系統,客戶要求要有填空題,實現的過程中可謂費盡周折,在這裡說一說實現的過程。
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換位,至少要經...