これは私のJavaScriptです:
<script type="text/javascript">
var crct_answrs = new Array(<?php echo implode(',', $crct_ans); ?>);
var answrs = new Array();
function check_ans(){
for(var i = 1; i < 11; i++){
var tst = "ques"+i;
var radio = document.getElementsByName(tst);
for (var x = 0; x < radio.length; x ++) {
if (radio[x].checked) {
answrs = radio.value;
}
}
}
}
</script>
これはHTMLの一部です。
<form>
<div id="quest1" class="question">
<div class="prblm">
<?php echo $questions[1]; ?></div>
<table class="answrs">
<tr>
<td><?php echo $answrs[1][1]; ?></td>
<td><input name="ques1" type="radio" value="1"></td>
</tr>
<tr>
<td><?php echo $answrs[1][2]; ?></td>
<td><input name="ques1" type="radio" value="2"></td>
</tr>
<tr>
<td><?php echo $answrs[1][3]; ?></td>
<td><input name="ques1" type="radio" value="3"></td>
</tr>
<tr>
<td><?php echo $answrs[1][4]; ?></td>
<td><input name="ques1" type="radio" value="4"></td>
</tr>
</table>
</div>
div
テーブル付きの同じパターンタグが10個あり、input
それに応じて名前が変更されています。
check_ans()
で実行されonclick
ます。しかし、常にgetElementsByName
未定義を返します。なぜこれが起こるのか。私を助けてください。ありがとう!