2017-12-21 27 views
0

사용자가 스노우 보드 프로그램을 선택할 수있는 간단한 응용 프로그램을 작성 중입니다. 그들은 최대 3 개의 프로그램 만 선택할 수 있습니다. 프로그램은 프로그램을 저장하는 콜렉션을 검사하고,> 3 개의 항목이 포함되어 있으면 사용자가 사용할 수있는 모든 버튼을 비활성화해야합니다. 그러나 함수가 호출 된 것처럼 보이지 않습니다. onlick 등의 다른 이벤트 트리거를 시도했지만 아무 소용이 없습니다. 도움을 주시면 감사하겠습니다.javascript onload 이벤트가 호출되지 않음

Timetable view

자바 스크립트 기능

 <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 루프 시도가 <input id="button${entry.key}" type="submit" ..... 0으로 변경

  <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

이것은 버튼을 클릭 할 때만 이벤트를 발생시키고, 각 버튼을 함수의 매개 변수에 전달하고, 페이지가로드되는 즉시 함수를 호출하려고한다. – user2037720