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

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi steeldragon, 25/1/06.

  1. steeldragon

    steeldragon Dragon Quest

    Tham gia ngày:
    15/2/04
    Bài viết:
    1,272
    Nơi ở:
    Helsinki, Finland
    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
     
  2. ngocbich15

    ngocbich15 Donkey Kong

    Tham gia ngày:
    21/3/05
    Bài viết:
    419
    Nơi ở:
    Love World
    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
     
  3. steeldragon

    steeldragon Dragon Quest

    Tham gia ngày:
    15/2/04
    Bài viết:
    1,272
    Nơi ở:
    Helsinki, Finland
    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???
     
  4. steeldragon

    steeldragon Dragon Quest

    Tham gia ngày:
    15/2/04
    Bài viết:
    1,272
    Nơi ở:
    Helsinki, Finland
    hix, ko ai giúp em à T.T, ai biết chỉ dùm em cái hix hix
     
  5. Dark_XIII

    Dark_XIII T.E.T.Я.I.S

    Tham gia ngày:
    17/4/03
    Bài viết:
    688
    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.
     
  6. steeldragon

    steeldragon Dragon Quest

    Tham gia ngày:
    15/2/04
    Bài viết:
    1,272
    Nơi ở:
    Helsinki, Finland
    ty and, em vừa mới học javascript nên cũng chưa rành lắm T.T
     
  7. o0o Agumon o0o

    o0o Agumon o0o Donkey Kong

    Tham gia ngày:
    11/6/05
    Bài viết:
    351
    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!
    Đ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!
     
  8. steeldragon

    steeldragon Dragon Quest

    Tham gia ngày:
    15/2/04
    Bài viết:
    1,272
    Nơi ở:
    Helsinki, Finland
    ko có dấu ";" mà vẫn chạy đc mà, em test rồi
    grade*33 là % số câu đúng
    có cách nào khác ko anh???
     
  9. Dark_XIII

    Dark_XIII T.E.T.Я.I.S

    Tham gia ngày:
    17/4/03
    Bài viết:
    688
    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.
     
  10. steeldragon

    steeldragon Dragon Quest

    Tham gia ngày:
    15/2/04
    Bài viết:
    1,272
    Nơi ở:
    Helsinki, Finland
    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 ^.^
     
  11. Dark_XIII

    Dark_XIII T.E.T.Я.I.S

    Tham gia ngày:
    17/4/03
    Bài viết:
    688
    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
     
  12. o0o Agumon o0o

    o0o Agumon o0o Donkey Kong

    Tham gia ngày:
    11/6/05
    Bài viết:
    351
    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 ::( .
     

Chia sẻ trang này