Thắc mắc về cách làm cái question dạng trắc nghiệm trong javascript

steeldragon

Dragon Quest
Tham gia ngày
15/2/04
Bài viết
1,272
Reaction score
0
em định làm 1 bài trắc nghiệm = javascript, em dùng cái option box hay radio để làm cái chỗ mà đánh dấu, 5 câu trả lời, chỉ đc chọn 1 câu và chọn bao nhiêu lần tùy thích, cuối bài trắc nghiệm thì em để 1 cái button OK, làm sao để khi clik vào cái button OK đó thì hiện lên điểm của bài trắc nghiệm và ko hiện lên đáp áp, em cho ở đây 1 câu đúng là 1 điểm. Anh nào biết cách giúp em với
 
E,em hỏi luôn hộ:D
Anh nào cho em Script "Ấy có iu tớ ko"
Rồi chỉ đc đánh Yes,ko NO hộ em cái:D
EM cám ơn nhiều:D
 
em có đoạn scrip vầy nhúng trong thẻ <body> :
<body>
<script language=javascript>
array ();
var correctchoice=new array();
correctchoice[1]='a';
var atualchoice=new array();
</script>
Question 1: [đánh câu hỏi vào]
<form name="Question 1">
<input onclick="atualchoice[1]='a'" type="radio" value="V1" checked name=" "> [câu trả lời a]<br>
<input onclick="atualchoice[1]='b'" type="radio" value="V1" checked name=" "> [câu trả lời b]<br>
<input onclick="atualchoice[1]='c'" type="radio" value="V1" checked name=" "> [câu trả lời c]<br>
<input onclick="atualchoice[1]='d'" type="radio" value="V1" checked name=" "> [câu trả lời d]<br>
<input onclick="atualchoice[1]='e'" type="radio" value="V1" checked name=" "> [câu trả lời e]<br>
</form>
<script language=javascript>
var x=0;
function answer(){
for(i=1;i<=[số câu hỏi cao nhất];i++){
if(atualchoice==correctchoice){x=x+1;}
}
</script>
<input type=button name=" " value="View Result" onClick="answer()">
</body>

đoạn script này em dùng để làm 1 bài test trắc nghiệm, sau khi nhấn button View Result thì hiện ra số điểm bằng lệnh alert() nhưng mà ko đc, em ko biết nó sai chỗ nào, anh nào biết chỉ em dùm, thanks nhiều lắm... Trong javascript có phân biệt chữ hoa và chữ thường ko vậy mấy anh ??? onclick có giống onClick ko vậy???
 
hix, ko ai giúp em à T.T, ai biết chỉ dùm em cái hix hix
 
ops. Đoạn script của cậu vừa thừa lại vừa thiếu ._.
thử dùng đoạn này xem:

-------------------------------------------
<script language="JavaScript">
function tester() {
var a = 0
var b = 0
var c = 0
if(document.forms[0].elements[1].checked==true) {
a = 1
}
if(document.forms[0].elements[3].checked==true) {
b = 1
}
if(document.forms[0].elements[8].checked==true) {
c = 1
}
total = a + b + c
grade = 33*total
if (total==3){
alert("Your grade is 100% correct. Great Job!")
}
if (total < 3){
alert("Your grade is "+ grade +"% correct.")
}
}
</script>
---------------------------------------------
Form thì như thế này:
<form method="get" onsubmit="tester()">
<h4>1. What does &quot;WBT&quot; stand for?</h4>
<p><input type="radio" checked name="R1" value="V1">a. World Boxing Association.</p>
<p><input type="radio" name="R1" value="V2">b. Web-Based Training. </p>
<p><input type="radio" name="R1" value="V3">c. Why Bother Testing?</p>
<p>&nbsp;</p>
<hr>
<h4>2. What is JavaScript?</h4>
<p><input type="radio" name="R2" value="V4">a. A programming language used with HTML.</p>
<p><input type="radio" name="R2" value="V5">b. The same as Java code.</p>
<p><input type="radio" name="R2" value="V6">c. The script used in the country Java.</p>
<p>&nbsp;</p>
<hr>
<h4>3. Why use multiple choice tests in WBT?</h4>
<p><input type="radio" name="R3" value="V7">a. To be different than regular tests.</p>
<p><input type="radio" name="R3" value="V8">b. To cause confusion among the students. </p>
<p><input type="radio" name="R3" value="V9">c. It is easier to program and control. </p>
<p>&nbsp;</p>
<hr>
<div align="center"><center><p><input type="submit" value="Get Score"></p>
</center></div>
</form>

Đoạn mã này hơi khác. Các checkbox sai thì nó kệ. Các check đúng nó cộng cho 1 điểm. Thích có cả đáp án thì sửa lại cái alert() 1 chút.
 
ty and, em vừa mới học javascript nên cũng chưa rành lắm T.T
 
Dark_XIII nói:
<script language="JavaScript">
function tester() {
var a = 0
var b = 0
var c = 0
if(document.forms[0].elements[1].checked==true) {
a = 1
}
if(document.forms[0].elements[3].checked==true) {
b = 1
}
if(document.forms[0].elements[8].checked==true) {
c = 1
}
total = a + b + c
grade = 33*total
if (total==3){
alert("Your grade is 100% correct. Great Job!")
}
if (total < 3){
alert("Your grade is "+ grade +"% correct.")
}
}
</script>
Pó tay với bác, JavaScript gì mà không có cái dấu ";" nào cả. Kiểu này error chết!
grade = 33*total
Đoạn này hơi không hiểu lắm. Ý bác là khả năng trả lời của người dùng phải không? Nhưng lỡ số câu hỏi nhiều hơn thì sao? Cái này không được hay cho lắm!
 
ko có dấu ";" mà vẫn chạy đc mà, em test rồi
grade*33 là % số câu đúng
o0o Agumon o0o nói:
Nhưng lỡ số câu hỏi nhiều hơn thì sao? Cái này không được hay cho lắm!
có cách nào khác ko anh???
 
1./ JS có cần dấu ; đâu. Có cũng được, không có thì cũng không sao mà.
2./ Thì đây là web tĩnh mà phải để fix vậy thôi. Đoạn đó nó tính % trả lời đúng. Có 3 câu nên lấy 100/3 = 33 (mỗi câu trả lời đúng được 33%). Javascript mà, làm sao thoải mái được, muốn dễ dàng thì dùng asp, php, jsp có phải hơn không, câu hỏi trong database. Kết quả trả lời thì cho hết vào session hoặc cookie. Cuối cùng check 1 thể.
Còn nếu muốn dùng js đếm đuowjc số câu hỏi thì dùgn vòng for nhưng số phương án trả lời của 1 câu hỏi phải là cố định.
 
anh có tài liệu nào học java cript ko vậy??? em có 1 số ebooks nhưng mà có lẽ hơi cũ rồi nên ko hay lắm. Anh còn biết trang nào chuyên về javascript ko chỉ em với, thanks nhiều lắm ^.^
 
JS này thì bạn cũng nên đọc qua cho biết thôi. Chứ không cần đi sâu. Lên mạng search thì ra cả đống JS người khác viết sẵn rồi. Chỉ cần hiểu để mang về sửa đi thôi.
Còn ebook thì có 1 quyển "JavaScript & DHTML Cookbook" của O'Reilly, dùng để tra cứu các giải pháp khá ổn.
Bạn vào đây download:
http://z26.zupload.com/download.php?file=getfile&filepath=1727
 
Hic lạ nhỉ? Javascript không cần dấu ";" nào? Hồi đó mỗi lần viết JavaScript trên FrontPage thì nó cứ alert error hoài ::( .
 
Back
Top