diff --git a/www/extras/wobject/Survey/administersurvey.js b/www/extras/wobject/Survey/administersurvey.js
index bf731df97..1d4bf27e2 100644
--- a/www/extras/wobject/Survey/administersurvey.js
+++ b/www/extras/wobject/Survey/administersurvey.js
@@ -4,7 +4,10 @@ if (typeof Survey === "undefined") {
}
(function(){
-
+
+ var CLASS_INVALID = 'survey-invalid'; // For elements that fail input validation
+ var CLASS_INVALID_MARKER = 'survey-invalid-marker'; // For default '*' invalid field marker
+
var multipleChoice = {
'Multiple Choice': 1,
'Gender': 1,
@@ -90,12 +93,20 @@ if (typeof Survey === "undefined") {
}
}
}
+ var node = document.getElementById(i + 'required');
+ var q_parent_node = YAHOO.util.Dom.getAncestorByClassName(node, 'question');
if (!answered) {
submit = 0;
- document.getElementById(i + 'required').innerHTML = "*";
+
+ // Apply CLASS_INVALID to the parent question div for people who want to skin Survey
+ YAHOO.util.Dom.addClass(q_parent_node, CLASS_INVALID);
+
+ // Insert default '*' marker (can be hidden via CSS for those who want something different)
+ node.innerHTML = "*";
}
else {
- document.getElementById(i + 'required').innerHTML = "";
+ YAHOO.util.Dom.removeClass(q_parent_node, CLASS_INVALID);
+ node.innerHTML = '';
}
}
}
diff --git a/www/extras/wobject/Survey/survey.css b/www/extras/wobject/Survey/survey.css
index 2ff7b86a8..626b9ee58 100644
--- a/www/extras/wobject/Survey/survey.css
+++ b/www/extras/wobject/Survey/survey.css
@@ -83,3 +83,8 @@ input.mcbutton-selected{
background-image: url(/extras/wobject/Survey/gradient-glossy.png);
background-position: 0px 0px;
}
+
+/* By default the marker for invalid (required) fields is a red '*' */
+.survey-invalid-marker {
+ color: #FF0000;
+}
\ No newline at end of file