先ほど(http://q.hatena.ne.jp/1392601384)のjavascript質問の続きです

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

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/02/17 17:48:06
  • 終了:2014/02/17 18:44:54
id:takanii
<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>

ベストアンサー

id:psne No.1

ぽけっとしすてむ回答回数455ベストアンサー獲得回数2442014/02/17 18:26:23

ポイント500pt

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

<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件)

id:takanii

質問文を編集しました。詳細はこちら

id:psne No.1

ぽけっとしすてむ回答回数455ベストアンサー獲得回数2442014/02/17 18:26:23ここでベストアンサー

ポイント500pt

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

<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>

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません