私はユーザーがスノーボードプログラムを選択できる簡単なアプリケーションに取り組んでいます。彼らは最大3つのプログラムしか選択できないので、プログラムはそのプログラムを格納しているコレクションをチェックし、> 3エントリを含んでいれば、ユーザーが利用できるすべてのボタンを無効にする必要があります。しかし、この関数は呼び出されているようには見えません。私はonlickなどのさまざまなイベントトリガーを試していますが、無駄です。 何か助けていただければ幸いです。javascript onloadイベントが呼び出されない
JavaScript関数
<script type="text/javascript">
function restrictSelection(t) {
var selectedButton = document.getElementById(t);
var selectedLessonSize = document.getElementById("selectedLessonSize");
if (selectedLessonSize.value > 3) {
alert("more than 3");
selectedButton.disabled = true;
} else {
selectedButton.disabled = false;
alert("less than 3");
}
}
</script>
JSP Foreachループ(収集し、表示可能なプログラムを反復処理)
<c:forEach var="entry" items="${lessonTimetable.lessons}">
<form method="POST" action="chooseLesson">
<tr>
<td><c:out value="${entry.key}"/></td>
<td><c:out value="${entry.value.description}"/></td>
<td><c:out value="${entry.value.date}"/></td>
<td><c:out value="${entry.value.startTime}"/></td>
<td><c:out value="${entry.value.endTime}"/></td>
<td><c:out value="${entry.value.level}"/></td>
<td><input type="hidden" name="lessonid" value="${entry.key}"/>
<input type="hidden" id="selectedLessonSize" value="${lessonSelection.numChosen}"/>
<input id="button${entry.key}" type="submit" value="select lesson" disabled="true" onload="restrictSelection(this)"/>
</td>
</tr>
</form>
</c:forEach>
外部リソースのロードを終了するだけで、 'onload'イベント、' body'、 'img'、' iframe'などの要素がトリガされます。 – Teemu
ええと、私はそれが何であるかと思っていました – user2037720