Re: [問題] 這個網頁程式碼要怎麼寫?

看板Web_Design作者 (沉默是金)時間15年前 (2008/10/11 12:33), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《king31815 (口八押係)》之銘言: : 小弟我想寫一個button的程式碼 : 點下去之後可以顯示我網頁裡單選紐與複選紐的答案 : 並且可以顯示答對率與答對題數 : 在每個選項後面顯示答對或答錯與正確答案 : 大概類似這個網頁裡的最下面那個按鈕http://0rz.tw/594RR : 拜託各位大大幫忙 : 我想好幾天了 : 好不容易把計時器弄出來就差這個了 : 這個是我的網頁http://0rz.tw/b64Sx 這問題最單純的作法 , 就是每個單複選紐onclick後 , 都設定它的value到代表某題目的某個隱藏的input裡面 , 這樣可以省去一個一個檢查到底勾的是那一個的麻煩, 最後只要跑for loop 去測隱藏的input是不是正確中就好. 這是指思緒上得簡單. 次之就是把同一題的input name都設一樣 , 先跑一個for 從第一題跑到最後一題 , 用getElementsByName去抓每一題得子項目到底哪些是checked , 先取出所有資料再來用一個answer array來作驗證跟統計. 採用後者需要的技術力較小 , 你應該會比較方便. for example . 你的q1可以這樣寫 var answer = [null,"5"]; //(假設第一題答案是5 , null是index 0) var questions=1; var ansright=0; for(var i=1;i<=questions;++i){ var eles=document.getElementsByName('Q'+i); var ans=[]; //紀錄回答答案 for(var j=0;j<eles.length;++j){ if(eles[j].checked) ans.push(eles[j].value); } if(answer[i]==ans.join(",")){ document.getElementById('a'+i).innerHTML="答對了!"; ++ansright; }else{ document.getElementById('a'+i).innerHTML="答錯了!"; } } alert("共答對:"+ansright+"題"); 這sample只要把你checkbox的name改一改 , 另外答案如果是複選,每個答案要用逗號隔開, 這樣就可以直接套用在所有題目了. :p 當然 , 如果要防別人從網頁原始碼直接作弊的話 , 不會這麼簡單 , 還得另外下功夫. -- What do you want to have ? / What do you have? 從書本中,你可以發現我的各種興趣。 從CD中,你可以瞭解我所喜歡的偶像明星。 或許從文字你很難以瞭解一個人,但從物品可以。 My PPolis , My past. http://ppolis.tw/user/Tony -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.169.78.140

10/11 12:50, , 1F
喜歡作弊的人就讓他作吧,反正你我他都知道作弊是沒意義的
10/11 12:50, 1F

10/11 12:51, , 2F
是啊 防君子不防小人 , 不過像是cisco 線上測驗之類的 , 就
10/11 12:51, 2F

10/11 12:52, , 3F
可能還是得堵一下作弊...:p
10/11 12:52, 3F

10/11 12:52, , 4F
就跟寫個投票系統還要防路人灌票一樣...XDDDD
10/11 12:52, 4F
文章代碼(AID): #18y2n-UY (Web_Design)
文章代碼(AID): #18y2n-UY (Web_Design)