人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

先ほど(http://q.hatena.ne.jp/1392601384)のjavascript質問の続きです
複数選択式の問題集サイトを作成しております
書いていただいたものをいじっているところなのですが
コードの中に<input type="button" id="saiten2" value="採点する"> をもう一つ入れるとボタンが1つしか動作しません
両方動作させたい場合はどうすればいいのでしょうか?
よろしくお願いします

●質問者: takanii
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

質問者から
<html>
<head>
<script type='text/javascript'>
window.onload = function(){ // onLoadイベントで動作させる
document.getElementById("saiten").onclick = function(){
for( var t = document.getElementsByTagName("table")[0].getElementsByTagName("tbody")[0], k = 0; k < t.rows.length ; ++k ){ // 最初のテーブルを対象として行数分ループ
var a = ""; // 答えのクリア
for( var c = t.rows[k].cells[1].childNodes, i = 0; i < c.length; ++i ){ // 子要素の数だけループ
if( c[i].checked == 1 ){ // チェックの入っている項目の次のノードから先頭1文字を抜き出して答えに加える。
a += c[++i].nodeValue.charAt(0);
}
  }
t.rows[k].cells[0].getElementsByTagName("input")[0].checked = a != t.rows[k].cells[2].innerHTML ? 1 : 0; // 答え合わせ
}
}
}
</script>
</head>
<body>
<input type="button" id="saiten1" value="採点する">
<table>
<tr>
<td>第1問<input type="checkbox"></td>
<td>赤いものはどれか すべて選べ<br>
<input type="checkbox">a りんご<br>
<input type="checkbox">b みかん<br>
<input type="checkbox">c バナナ<br>
<input type="checkbox">d グレープフルーツ<br>
<input type="checkbox">e 雪
</td>
<td>a</td>
</tr>
<tr>
<td>第2問<input type="checkbox"></td>
<td>赤いものはどれか すべて選べ<br>
<input type="checkbox">a りんご<br>
<input type="checkbox">b 赤信号<br>
<input type="checkbox">c いちご<br>
<input type="checkbox">d グレープフルーツ<br>
<input type="checkbox">e 雪
</td>
<td>abc</td>
</tr>
</table>
<input type="button" id="saiten2" value="採点する">

</body>
</html>

1 ● ぽけっとしすてむ
●500ポイント ベストアンサー

既に出来上がっているものを弄るので、最小限に。

<html>
<head>
<script type='text/javascript'>
window.onload = function(){ // onLoadイベントで動作させる

document.getElementById("saiten1").onclick = function(){
saiten();
}
document.getElementById("saiten2").onclick = function(){
saiten();
}

function saiten(){
for( var t = document.getElementsByTagName("table")[0].getElementsByTagName("tbody")[0], k = 0; k < t.rows.length ; ++k ){ // 最初のテーブルを対象として行数分ループ
var a = ""; // 答えのクリア
for( var c = t.rows[k].cells[1].childNodes, i = 0; i < c.length; ++i ){ // 子要素の数だけループ
if( c[i].checked == 1 ){ // チェックの入っている項目の次のノードから先頭1文字を抜き出して答えに加える。
a += c[++i].nodeValue.charAt(0);
}
  }
t.rows[k].cells[0].getElementsByTagName("input")[0].checked = a != t.rows[k].cells[2].innerHTML ? 1 : 0; // 答え合わせ
}
}
}
</script>
</head>
<body>
<input type="button" id="saiten1" value="採点する">
<table>
<tr>
<td>第1問<input type="checkbox"></td>
<td>赤いものはどれか すべて選べ<br>
<input type="checkbox">a りんご<br>
<input type="checkbox">b みかん<br>
<input type="checkbox">c バナナ<br>
<input type="checkbox">d グレープフルーツ<br>
<input type="checkbox">e 雪
</td>
<td>a</td>
</tr>
<tr>
<td>第2問<input type="checkbox"></td>
<td>赤いものはどれか すべて選べ<br>
<input type="checkbox">a りんご<br>
<input type="checkbox">b 赤信号<br>
<input type="checkbox">c いちご<br>
<input type="checkbox">d グレープフルーツ<br>
<input type="checkbox">e 雪
</td>
<td>abc</td>
</tr>
</table>
<input type="button" id="saiten2" value="採点する">

</body>
</html>
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ