public override void UpdateAttributes(string controlPrefix, NameValueCollection postedFormValues, CustomQuestionProperties props) { if (!(bool)props.GetAttributeBool(_parentChangeFlagGuid)) { if (props.GetAttribute(_valueGuid) as string != postedFormValues[controlPrefix]) { props.UpdateAttribute(_manualChangeFlagGuid, true); } props.UpdateAttribute(_valueGuid, postedFormValues[controlPrefix]); } }
public override void InputChanged(CustomQuestionInput input, object oldValue, CustomQuestionProperties props) { if (input.InputTypeId == _defaultValueGuid) { if (!(bool)props.GetAttributeBool(_manualChangeFlagGuid)) { props.UpdateAttribute(_valueGuid, input.Value); props.UpdateAttribute(_parentChangeFlagGuid, true); } } else if (input.InputTypeId == _maxLengthGuid) { props.UpdateAttribute(_maxLengthGuid, input.Value); } }
public override void ReadAnswerFileNode(System.Xml.Linq.XElement answerFileNode, CustomQuestionProperties props) { foreach (System.Xml.Linq.XAttribute xmlAttribute in answerFileNode.Attributes()) { if (string.Equals(xmlAttribute.Name.ToString(), _valueGuid.ToString(), StringComparison.OrdinalIgnoreCase)) { string savedValue = xmlAttribute.Value; if (savedValue != props.GetAttributeString(_valueGuid)) { props.UpdateAttribute(_manualChangeFlagGuid, true); } props.UpdateAttribute(_valueGuid, savedValue); } } }
public override void InitialiseInputs(CustomQuestionProperties props) { props.UpdateAttribute(_manualChangeFlagGuid, false); props.UpdateAttribute(_parentChangeFlagGuid, false); foreach (CustomQuestionInput input in props.QuestionInputs) { if (input.InputTypeId == _maxLengthGuid) { int maxLength = 0; if (int.TryParse(input.Value, out maxLength)) { props.UpdateAttribute(_maxLengthGuid, maxLength); } } if (input.InputTypeId == _defaultValueGuid) { props.UpdateAttribute(_valueGuid, input.Value.ToString()); } } }
public override void WriteHtml(string controlPrefix, CustomQuestionProperties props, TextWriter writer) { writer.Write("<input type=\"password\" name=\""); writer.Write(controlPrefix); writer.Write("\" id=\""); writer.Write(controlPrefix); writer.Write("\""); if (!string.IsNullOrEmpty(props.GetAttributeString(_maxLengthGuid))) { writer.Write(" maxlength=\""); writer.Write(WebUtility.HtmlEncode(props.GetAttributeString(_maxLengthGuid))); writer.Write("\""); } if (!string.IsNullOrEmpty(props.GetAttributeString(_valueGuid))) { writer.Write(" value=\""); writer.Write(WebUtility.HtmlEncode(props.GetAttributeString(_valueGuid))); writer.Write("\""); } if (props.Question.IsRealtimeParentQuestion) { writer.Write(" onblur=\"if ($('#" + controlPrefix + "_change').val() == '1') {" + TRIGGER_REFRESH + "}\""); } writer.Write(" />"); if (props.Question.IsRealtimeParentQuestion) { writer.Write("<input type=\"hidden\" id=\"" + controlPrefix + "_change\" name=\"" + controlPrefix + "_change\" value=\"0\" />"); writer.Write("<script type=\"text/javascript\">"); writer.Write("$('#" + controlPrefix + "').on('change', function() { $('#" + controlPrefix + "_change').val('1'); });"); writer.Write("$('#" + controlPrefix + "').on('keydown', function(e) "); writer.Write("{ "); writer.Write(" var code = e.keyCode || e.which;"); writer.Write(" if (code != '9' && code != '16')"); writer.Write(" $('#" + controlPrefix + "_change').val('1'); "); writer.Write("});"); writer.Write("</script>"); } props.UpdateAttribute(_parentChangeFlagGuid, false); }
public override void UpdateAttributes(string controlPrefix, NameValueCollection postedFormValues, CustomQuestionProperties props) { // Updates the question attribute value from the form props.UpdateAttribute(_valueGuid, postedFormValues[controlPrefix]); }