2017-12-21 15 views
0

私はユーザーがスノーボードプログラムを選択できる簡単なアプリケーションに取り組んでいます。彼らは最大3つのプログラムしか選択できないので、プログラムはそのプログラムを格納しているコレクションをチェックし、> 3エントリを含んでいれば、ユーザーが利用できるすべてのボタンを無効にする必要があります。しかし、この関数は呼び出されているようには見えません。私はonlickなどのさまざまなイベントトリガーを試していますが、無駄です。 何か助けていただければ幸いです。javascript onloadイベントが呼び出されない

Timetable view

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

外部リソースのロードを終了するだけで、 'onload'イベント、' body'、 'img'、' iframe'などの要素がトリガされます。 – Teemu

+0

ええと、私はそれが何であるかと思っていました – user2037720

答えて

0

が0に<input id="button${entry.key}" type="submit" ..... を変更しよう

+0

これは、ボタンをクリックするとイベントを引き起こすだけです、私は各ボタンを関数のパラメータに渡し、ページが読み込まれるとすぐに関数を呼び出す必要があります。 – user2037720

関連する問題