Difference between revisions of "Force number of characters"
(New page: == Challenge == You want to use automatically change question, but don't want to show the counter for the respondent. The Next button is often hided when this script is used. == Script ==...) |
|||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == Force number of characters == |
− | + | ||
− | == | + | In order to force the respondent to write a certain number of characters in a text sub question. |
− | <source lang="javascript" | + | |
− | function | + | As a questionnaire creator |
− | { | + | |
− | document["query"][" | + | 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; | ||
+ | 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> | </source> | ||
+ | |||
+ | === Source === | ||
+ | Questionnaire Resource Id on cg site: 159730 |
Latest revision as of 10: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
Solution
- Add a Text grid question to Questionnaire editor like below
- Go to menu Properties -> Question scripts -> Java script tab -> Input script
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