Index: lams_tool_scratchie/web/pages/learning/learning.jsp
===================================================================
diff -u -r269c13324c6bb998631af858dc8091ad3102ef78 -r3126fb6636e4164bdc6e539eab16ed2a7618fe7e
--- lams_tool_scratchie/web/pages/learning/learning.jsp (.../learning.jsp) (revision 269c13324c6bb998631af858dc8091ad3102ef78)
+++ lams_tool_scratchie/web/pages/learning/learning.jsp (.../learning.jsp) (revision 3126fb6636e4164bdc6e539eab16ed2a7618fe7e)
@@ -45,7 +45,7 @@
[${item.uid}, [
- "${optionDto.answer}",
+ "",
]],
@@ -146,7 +146,7 @@
//determine if such answer is available in the list
var answerRowIndex = -1;
assessmentAnswers.get(itemUid).forEach(function(assessmentAnswer, index) {
- if (assessmentAnswer == answer) {
+ if (assessmentAnswer == xmlEscape(answer)) {//comparing with escaped answer as assessmentAnswers' answers are escaped
answerRowIndex = index;
}
});
@@ -219,7 +219,7 @@
'
' +
' ' +
- answer +
+ xmlEscape(answer) +
' ' +
' ' +
'' +
@@ -228,9 +228,17 @@
' | ' +
'';
$("table#scratches-" + itemUid).append(trElem);
- assessmentAnswers.get(itemUid).push(answer);
+ assessmentAnswers.get(itemUid).push(xmlEscape(answer));
}
+ function xmlEscape(value) {
+ return value.replace(/&/g, '&')
+ .replace(//g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''');
+ }
+
//a direct replacement for Java's String.hashCode() method
function hashCode(str) {
return str.split('').reduce((prevHash, currVal) =>