version 1.97, 2025/06/30 20:29:06
|
version 1.98, 2025/07/02 16:08:37
|
Line 485 function validateInterval() {
|
Line 485 function validateInterval() {
|
assemble(); |
assemble(); |
} |
} |
|
|
|
function validateGrace() { |
|
var items = choices.document.getElementsByName('setgrace'); |
|
var needpcr = 0; |
|
var neednum = 0; |
|
if (items) { |
|
if (items.length) { |
|
if (items.length > 0) { |
|
for (var i=0; i<items.length; i++) { |
|
var numnotnull = 0; |
|
var fracnotnull = 0; |
|
var graceDiv = items[i].closest('div'); |
|
var timeSels = graceDiv.getElementsByTagName("select"); |
|
if (timeSels.length) { |
|
for (var j=0; j<timeSels.length; j++) { |
|
var selidx = timeSels[j].selectedIndex; |
|
if (selidx >= 0) { |
|
var val = timeSels[j].options[selidx].value; |
|
if ((val !== null) && (val !== '') && (val !== 'undefined')) { |
|
numnotnull = 1; |
|
break; |
|
} |
|
} |
|
} |
|
} |
|
var inputElems = graceDiv.getElementsByTagName("input"); |
|
if (inputElems.length) { |
|
for (var j=0; j<inputElems.length; j++) { |
|
var iname = inputElems[j].getAttribute('name'); |
|
if (iname == 'frac') { |
|
var ival = inputElems[j].value; |
|
ival.trim(); |
|
var poss = parseFloat(ival); |
|
if ((typeof poss === 'number') && (!isNaN(poss))) { |
|
if ((poss => 0) && (poss <= 1)) { |
|
fracnotnull = 1; |
|
} |
|
} |
|
break; |
|
} |
|
} |
|
} |
|
if (numnotnull && !fracnotnull) { |
|
needpcr ++; |
|
} |
|
if (fracnotnull && !numnotnull) { |
|
neednum ++; |
|
} |
|
} |
|
if (needpcr) { |
|
if (needpcr == 1) { |
|
alert("Grace period setting is incomplete: enter a number between 0 and 1.0 for 'Partial Credit', or use 'Remove'."); |
|
} else { |
|
alert(needpcr+" Grace period settings are incomplete: for each enter a number between 0 and 1.0 for 'Partial Credit', or use 'Remove'."); |
|
} |
|
return; |
|
} |
|
if (neednum) { |
|
if (neednum == 1) { |
|
alert("Grace period setting is incomplete: select a number in at least one of the 'Time past due' select boxes, or use 'Remove'."); |
|
} else { |
|
alert(neednum +" Grace period settings are incomplete: for each select a number in at least one of the 'Time past due' select boxes, or use 'Remove'."); |
|
} |
|
return; |
|
} |
|
} |
|
} |
|
} |
|
assemble(); |
|
} |
|
|
function validateDeepLink() { |
function validateDeepLink() { |
var sform=choices.document.forms.sch; |
var sform=choices.document.forms.sch; |
svalue = sform.deeplinkstate.options[sform.deeplinkstate.selectedIndex].value+','; |
svalue = sform.deeplinkstate.options[sform.deeplinkstate.selectedIndex].value+','; |
Line 2112 function init() {
|
Line 2182 function init() {
|
selwrite('<a href="javascript:parent.validateInterval();'); |
selwrite('<a href="javascript:parent.validateInterval();'); |
} else if ((ptype=='string') && (pscat=='deeplink')) { |
} else if ((ptype=='string') && (pscat=='deeplink')) { |
selwrite('<a href="javascript:parent.validateDeepLink();'); |
selwrite('<a href="javascript:parent.validateDeepLink();'); |
|
} else if ((ptype=='string') && (pscat=='grace')) { |
|
selwrite('<a href="javascript:parent.validateGrace();'); |
} else { |
} else { |
selwrite('<a href="javascript:parent.assemble();'); |
selwrite('<a href="javascript:parent.assemble();'); |
} |
} |