Fixed a bug with arrays data model element

This commit is contained in:
bobopinna 2005-05-04 09:11:56 +00:00
parent 167f3fae36
commit bbc155d834

View file

@ -207,13 +207,16 @@ function SCORMapi1_2() {
eval(subelement+'.'+elementIndex+' = new Object();'); eval(subelement+'.'+elementIndex+' = new Object();');
eval(subelement+'.'+elementIndex+'._count = 0;'); eval(subelement+'.'+elementIndex+'._count = 0;');
} }
if (elementIndexes[i+1] <= eval(subelement+'.'+elementIndex+'._count')) { //alert ('Count:'+eval(subelement+'.'+elementIndex+'._count'));
if (elementIndexes[i+1] == eval(subelement+'.'+elementIndex+'._count')) { if (elementIndexes[i+1] == eval(subelement+'.'+elementIndex+'._count')*1.0+1) {
eval(subelement+'.'+elementIndex+'._count++;'); //alert('Index:'+elementIndexes[i+1]);
} eval(subelement+'.'+elementIndex+'._count++;');
subelement = subelement.concat('.'+elementIndex+'_'+elementIndexes[i+1]);
i++;
} }
if (elementIndexes[i+1] > eval(subelement+'.'+elementIndex+'._count')) {
errorCode = eval('datamodel["'+elementmodel+'"].writeerror');
}
subelement = subelement.concat('.'+elementIndex+'_'+elementIndexes[i+1]);
i++;
} else { } else {
subelement = subelement.concat('.'+elementIndex); subelement = subelement.concat('.'+elementIndex);
} }
@ -226,27 +229,29 @@ function SCORMapi1_2() {
//alert('LMSSetValue: '+element+'\nModel: '+elementmodel+'\nValue: '+value+'\nMatches: '+matches); //alert('LMSSetValue: '+element+'\nModel: '+elementmodel+'\nValue: '+value+'\nMatches: '+matches);
} }
//Store data //Store data
if ((typeof eval('datamodel["'+elementmodel+'"].range')) != "undefined") { if (errorCode == 0) {
range = eval('datamodel["'+elementmodel+'"].range'); if ((typeof eval('datamodel["'+elementmodel+'"].range')) != "undefined") {
ranges = range.split('#'); range = eval('datamodel["'+elementmodel+'"].range');
value = value*1.0; ranges = range.split('#');
if ((value >= ranges[0]) && (value <= ranges[1])) { value = value*1.0;
eval(element+'="'+value+'";'); if ((value >= ranges[0]) && (value <= ranges[1])) {
eval(element+'="'+value+'";');
errorCode = "0";
//alert('LMSSetValue: '+element+'\nModel: '+elementmodel+'\nValue: '+value);
return "true";
} else {
errorCode = eval('datamodel["'+elementmodel+'"].writeerror');
}
} else {
if (element == 'cmi.comments') {
eval(element+'+="'+value+'";');
} else {
eval(element+'="'+value+'";');
}
errorCode = "0"; errorCode = "0";
//alert('LMSSetValue: '+element+'\nModel: '+elementmodel+'\nValue: '+value); //alert('LMSSetValue: '+element+'\nModel: '+elementmodel+'\nValue: '+value);
return "true"; return "true";
} else {
errorCode = eval('datamodel["'+elementmodel+'"].writeerror');
} }
} else {
if (element == 'cmi.comments') {
eval(element+'+="'+value+'";');
} else {
eval(element+'="'+value+'";');
}
errorCode = "0";
//alert('LMSSetValue: '+element+'\nModel: '+elementmodel+'\nValue: '+value);
return "true";
} }
} else { } else {
errorCode = eval('datamodel["'+elementmodel+'"].writeerror'); errorCode = eval('datamodel["'+elementmodel+'"].writeerror');