Difference between revisions of "Force number of characters"

From Catglobe Wiki
Jump to: navigation, search
 
Line 1: Line 1:
== Challenge ==  
+
== Force number of characters ==
You want to force the respondent to write a certain number of characters in a text sub question. The script is often used together with the Number grid script, to force the respondent to write a zip code, or a phone number in a certain text field
+
 
== Example ==
+
In order to force the respondent to write a certain number of characters in a text sub question.
[[Image:ValidateTextLength.JPG‎ ]]
+
 
== Script ==  
+
As a questionnaire creator
<source lang="javascript" line="1">
+
 
 +
I want to force the respondent to write a zip code, or a phone number in a certain text field.
 +
 
 +
'''Example'''
 +
 
 +
[[Image:ValidateTextLength.JPG]]
 +
 
 +
=== Solution ===
 +
 
 +
*Add a Text grid question to Questionnaire editor like below
 +
*Go to menu Properties -> Question scripts -> Java script tab -> Input script
 +
 
 +
[[Image:ForceNoOfCharacter Code.jpg]]  
 +
 
 +
=== Code ===
 +
 
 +
<source lang="javascript">
 
var normalQuestionCheck = questioncheck;
 
var normalQuestionCheck = questioncheck;
 
function extendedQuestionCheck()
 
function extendedQuestionCheck()
Line 34: Line 50:
 
questioncheck = extendedQuestionCheck;
 
questioncheck = extendedQuestionCheck;
 
</source>
 
</source>
 +
 +
=== Source ===
 +
Questionnaire Resource Id on cg site: 159730

Latest revision as of 11:55, 12 January 2012

Force number of characters

In order to force the respondent to write a certain number of characters in a text sub question.

As a questionnaire creator

I want to force the respondent to write a zip code, or a phone number in a certain text field.

Example

ValidateTextLength.JPG

Solution

  • Add a Text grid question to Questionnaire editor like below
  • Go to menu Properties -> Question scripts -> Java script tab -> Input script

ForceNoOfCharacter Code.jpg

Code

var normalQuestionCheck = questioncheck;
function extendedQuestionCheck()
{
   var valid = normalQuestionCheck();
   if (valid)
   {
      // var_a hold the respondents answer.
      var var_a;
      // This is where the index of your sub question is defines.
      // The code below is that we use sub question has index 0 
      var_a = document["query"][quest.label + "." + 0].value;
      if (var_a.length > 0)
      {
         if (var_a.length != 10)
         {
            alert('The field can only hold 10 characters.');
            return false;
         }
      }
   }
   if (!valid)
   {
      alert('Please correct your answer.');
      return false;
   }
   return true;
}
questioncheck = extendedQuestionCheck;

Source

Questionnaire Resource Id on cg site: 159730