Difference between revisions of "Hide Next button in n seconds"
Line 1: | Line 1: | ||
== Challenge == | == Challenge == | ||
− | In order to not allow respondent click on the Next button in a period of t<br>As a questionnaire creator<br>I want to hide the Next button in some seconds | + | In order to not allow respondent click on the Next button in a period of t<br>As a questionnaire creator<br>I want to hide the Next button in some seconds |
== Solution == | == Solution == | ||
− | *In questionnaire template editor, choose the question I want to hide the Next button, and then go to the Properties - Edit question properties - Language dependent - Select javascript property | + | *In questionnaire template editor, choose the question I want to hide the Next button, and then go to the Properties - Edit question properties - Language dependent - Select javascript property |
− | *Create a onInit() function. | + | *Create a onInit() function. |
− | *In that function, check if the Next button existed. | + | *In that function, check if the Next button existed. |
*If it doesn't exist, do nothing, else disable the Next button, set the time out to number of seconds I want to hide the button, then show the button again. | *If it doesn't exist, do nothing, else disable the Next button, set the time out to number of seconds I want to hide the button, then show the button again. | ||
== Code == | == Code == | ||
− | + | <source lang="javascript" line="1">quest.onInit = function()<br>{<br>var secsTimeout = 10; | |
− | { | + | |
− | + | if ( !document.getElementsByName('next') || document.getElementsByName('next').length == 0 ) <br>{<br>// next button not available<br>return;<br>}<br>else<br>{<br>document.getElementsByName('next')[0].style.display='none';<br>} | |
− | + | ||
− | + | var timeout = setTimeout("document.getElementsByName('next')[0].style.display='';", secsTimeout*1000); | |
− | + | ||
− | + | }</source> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | } |
Revision as of 05:09, 12 February 2009
Challenge
In order to not allow respondent click on the Next button in a period of t
As a questionnaire creator
I want to hide the Next button in some seconds
Solution
- In questionnaire template editor, choose the question I want to hide the Next button, and then go to the Properties - Edit question properties - Language dependent - Select javascript property
- Create a onInit() function.
- In that function, check if the Next button existed.
- If it doesn't exist, do nothing, else disable the Next button, set the time out to number of seconds I want to hide the button, then show the button again.
Code
<source lang="javascript" line="1">quest.onInit = function()
{
var secsTimeout = 10;
if ( !document.getElementsByName('next') || document.getElementsByName('next').length == 0 )
{
// next button not available
return;
}
else
{
document.getElementsByName('next')[0].style.display='none';
}
var timeout = setTimeout("document.getElementsByName('next')[0].style.display=;", secsTimeout*1000);
}</source>