前提
HTMLとJavascriptでプログラムを並び替えて正誤判定を行うような学習用のシステムを作っています。
checkボタンを押すと、並び替えたプログラムが配列として保存されます。そこで、配列をプログラムテストサイトに移動し、実行結果だけをHTML内に表示したいと考えています。何か参考になるような記事やアドバイス等がございましたら回答お願いいたします。
ソースコード
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title>短冊プログラム</title> 6 <!-- スタイルシート(外部CSSファイル)を読み込む --> 7 <link rel="stylesheet" href="style.css"> 8</head> 9 10 11<body> 12 13 <h2>プログラムを正しい順番に並べ替えてください</h2> 14 15 <!-- 並び替えるリスト --> 16 <div class="list" id="list1"> 17 <div class="list-item">printf("Hello,World\n");</div> 18 <div class="list-item">{</div> 19 <div class="list-item">main()</div> 20 <div class="list-item">}</div> 21 </div> 22 23 <!-- 並び替えライブラリ読み込み・生成 --> 24 <script src="Sortable.min.js"></script> 25 <script> 26 var el = document.getElementById('list1'); 27 var sortable = new Sortable(el, { 28 animation: 150, 29 ghostClass: "ghost" 30 }); 31 32 // 正誤判定プログラム 33 function check() { 34 35 //挿入用の空配列 36 let answer = []; 37 38 //正しい順番の配列(正誤判定用) 39 var correctAnswer = ["main()","{","printf(\"Hello,World\\n\");","}"]; 40 41 // list-itemクラスの要素の集合を取得 42 var listItems = document.getElementsByClassName("list-item"); 43 44 //並び替えた配列の要素を空の配列に挿入 45 for(let i = 0; i < listItems.length; i++){ 46 answer.push(listItems[i].innerText); 47 } 48 49 console.log(correctAnswer); 50 console.log(answer); 51 52 //並び替えた配列(inputArr)と正しい順番の配列(arrayCorrect)を比較し正誤判定 53 if (answer.toString() === correctAnswer.toString()) { 54 document.getElementById("result").textContent = "正解!"; 55 }else{ 56 document.getElementById("result").textContent = "不正解!"; 57 } 58 59 } 60 61 </script> 62 63 64 <!-- 正誤判定ボタン --> 65 <br /> 66 <div align="center"> 67 <button class="button1" onclick="check()">check</button> 68 </div> 69 70 <br /> 71 <h4><span id="result"></span></h4> 72 73</body> 74</html>
実現したいこと
配列を外部サイト(プログラムテストサイト)に移動させ実行し、出力結果のみを自HTML内に表示させたい
実行結果
回答2件
あなたの回答
tips
プレビュー