Toggle menu
876
3.8K
30.2K
279.1K
Catglobe Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Hide Next button in n seconds: Difference between revisions

From Catglobe Wiki
No edit summary
No edit summary
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&nbsp;
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&nbsp;  


== Solution  ==
== Solution  ==


*In questionnaire template editor, choose the&nbsp;question&nbsp;I want to hide the Next button,&nbsp;and then&nbsp;go to the Properties - Edit question properties - Language dependent - Select javascript property&nbsp;
*In questionnaire template editor, choose the&nbsp;question&nbsp;I want to hide the Next button,&nbsp;and then&nbsp;go to the Properties - Edit question properties - Language dependent - Select javascript property&nbsp;  
*Create a onInit() function.
*Create a onInit() function.  
*In that function, check if the Next button existed.&nbsp;
*In that function, check if the Next button existed.&nbsp;  
*If it doesn't exist, do nothing, else disable the Next button, set the time&nbsp;out to number of seconds&nbsp;I want to hide the&nbsp;button, then show the button again.&nbsp;&nbsp;
*If it doesn't exist, do nothing, else disable the Next button, set the time&nbsp;out to number of seconds&nbsp;I want to hide the&nbsp;button, then show the button again.&nbsp;&nbsp;


== Code  ==
== Code  ==


<onlyinclude>quest.onInit = function()
&lt;source lang="javascript" line="1"&gt;quest.onInit = function()<br>{<br>var secsTimeout = 10;
{
 
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>}
if ( !document.getElementsByName('next') || document.getElementsByName('next').length == 0 )  
 
{
var timeout = setTimeout("document.getElementsByName('next')[0].style.display='';", secsTimeout*1000);
// next button not available
 
return;
}&lt;/source&gt;
}
else
{
document.getElementsByName('next')[0].style.display='none';
}
var timeout = setTimeout("document.getElementsByName('next')[0].style.display='';", secsTimeout*1000);
}</onlyinclude>

Revision as of 04: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>