From ec674dd5f42696cc1c3a5f0d7de12a095b57e679 Mon Sep 17 00:00:00 2001 From: Patrick Donelan Date: Thu, 4 Dec 2008 03:37:59 +0000 Subject: [PATCH] Flagging of invalid Survey fields now uses CSS classes instead of tags (for skinnability) --- www/extras/wobject/Survey/administersurvey.js | 17 ++++++++++++++--- www/extras/wobject/Survey/survey.css | 5 +++++ 2 files changed, 19 insertions(+), 3 deletions(-) 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