JavaScript'te HTML Kodunda Soru ve Cevaplı Test

Bu ve önümüzdeki birkaç derste, sizinle soru ve cevaplı testler oluşturmaya çalışacağız. En basit versiyonlardan başlayıp yavaş yavaş karmaşıklaştıracağız.

Başlangıç olarak, her biri için yalnızca bir cevabın mümkün olduğu bir soru seti yapmak isteyelim. Cevapların kullanıcı tarafından soruların altındaki inputlara girilmesine izin verelim.

Yazılanları HTML koduyla örnekleyelim:

html<div id="test">
  <div>
    <p>soru 1?</p>
    <input>
  </div>
  <div>
    <p>soru 2?</p>
    <input>
  </div>
  <div>
    <p>soru 3?</p>
    <input>
  </div>
</div>

Gördüğünüz gibi, sorularımız ve cevap inputlarımız var. Geriye, doğru cevapları nerede saklayacağımızı bulmak kaldı.

Akla gelebilecek en basit şey, cevapları doğrudan inputların HTML kodunda, herhangi bir data- özniteliğinde saklamaktır:

html<div id="test">
  <div>
    <p>soru 1?</p>
    <input data-right="cevap 1">
  </div>
  <div>
    <p>soru 2?</p>
    <input data-right="cevap 2">
  </div>
  <div>
    <p>soru 3?</p>
    <input data-right="cevap 3">
  </div>
</div>

Düşünülmesi gereken bir sonraki nüans: Cevapların doğruluğunu hangi anda kontrol edeceğiz? Burada iki seçenek önerilebilir: ya her input, içine cevap girilir girilmez hemen cevabın doğru olup olmadığını kontrol etsin, ya da tüm soruların cevaplarının aynı anda kontrol edileceği bir buton olsun.

Hangi seçeneği seçersek seçelim, eğer cevap doğruysa inputun kenarlığını yeşil renge, yanlışsa kırmızı renge boyayalım. Bunun için ilgili CSS sınıflarını oluşturalım:

css.right {
  border: 1px solid green;
}
.wrong {
  border: 1px solid red;
}
Задание 1

Bir inputa cevap girişinin Enter tuşuna basılarak tamamlanmasını sağlayın. Bu durumda inputun cevabı hemen doğruluk kontrolü yapmasına izin verin.

Задание 2

Kodunuzu, cevap kontrollerinin bir butona tıklandığında yapılacak şekilde değiştirin.