Index: lams_tool_preview/web/pages/learning/ranking.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_preview/web/pages/learning/Attic/ranking.jsp,v diff -u -r1.1.2.1 -r1.1.2.2 --- lams_tool_preview/web/pages/learning/ranking.jsp 10 Oct 2016 00:31:04 -0000 1.1.2.1 +++ lams_tool_preview/web/pages/learning/ranking.jsp 13 Nov 2016 13:19:19 -0000 1.1.2.2 @@ -24,6 +24,8 @@ $(document).ready(function(){ ${javascriptReady} + + testButtons(); }); @@ -49,6 +51,8 @@ } newChild.classList.remove('can-drop'); resetXY(newChild); + + testButtons(); } function setRanking(itemDescription, itemId, rank) { @@ -63,35 +67,51 @@ } } - function submitEntry(next){ + function submitEntry(next) { hideButtons(); - var numFilled = 0; var editForm = document.getElementById("editForm"); + if ( testCanSubmitEntry(editForm) ) { + $("#next").val(next); + editForm.submit(); + } else { + alert('${criteriaRatings.ratingCriteria.maxRating}'); + } + } + + function testButtons() { + var editForm = document.getElementById("editForm"); + if ( testCanSubmitEntry(editForm) ) { + showButtons(); + } else { + hideButtons(); + } + } + + function testCanSubmitEntry(editForm) { + var numFilled = 0; numFilled = numFilled + processHidden(editForm, 'rank${index}', 'divrank${index}'); if ( numFilled == ${criteriaRatings.ratingCriteria.maxRating}) { - $("#next").val(next); - editForm.submit(); + return true; } else { var learners = document.getElementById("learners"); if ( learners.children.length > 0 ) { - alert('${criteriaRatings.ratingCriteria.maxRating}'); - showButtons(); return false; } else { // no more learners to rank so allow - $("#next").val(next); - editForm.submit(); + return true; } } + return false; } function processHidden(editForm, key, valueDivId) { var rankField = document.getElementById(key); if ( ! rankField ) { rankField = document.createElement('input'); rankField.type = 'hidden'; + rankField.id = key; rankField.name = key; editForm.appendChild(rankField); } @@ -118,8 +138,8 @@
" method="get" id="editForm"> - - + + ${criteriaRatings.ratingCriteria.maxRating}