Next page button has vanished (javascript) | XM Community
Solved

Next page button has vanished (javascript)

  • 24 July 2018
  • 5 replies
  • 72 views

All of a sudden the next buttons on the instruction pages of my surveys have disappeared. I have no knowledge of javascript, so I'm hoping someone here will be able to help either recover the button or, alternatively, add some extra code so that a key press "clicks" to the next page. No data is required from this page so a simple hotkey might do the trick.

Here is the javascript for the instructions page where this issue occurs:

Qualtrics.SurveyEngine.addOnload(function() {
QRTE.unhideQuestions();
$('NextButton').style.display = 'inline';
$('Plug').style.display = 'None';
});

To provide further context, for the past 2 years I've been using QRT Engine within Qualtrics (via javascript) to capture response times. There hasn't been an issue until now. It appears that something in QRT Engine is conflicting with a recent change made by Qualtrics, which is making the next button disappear.

Please help, I've had to cancel experimental sessions until this is resolved. Many thanks in advance 😀
icon

Best answer by TomG 24 July 2018, 22:31

View original

5 replies

Userlevel 7
Badge +33
Next button comes by default, not sure why you are using java script code here.
I think it's the addition of custom java code to run QRT Engine within Qualtrics surveys that requires manually adding the next button. I tried removing the javascript from the instruction pages but the next button still remains missing.
Userlevel 7
Badge +27
I remember QRT Engine from a few years ago. Actually, I'm surprised it has continued to work this long. I was going to suggest using the Q_JFE=0 parameter to run in non-jfe mode, but I just noticed today that it no longer works.

So, here are two quick fixes you could try. I don't know if either will work, but are worth a try:
1. Under Look&Feel, set page transition to 'None'.
2. In the JavaScript, change the addOnload functions to addOnReady.

If these don't work, I think your only other option is probably debugging the code to figure out what is happening then making modifications.
It works! Thank you so much, TomG. Your help is much appreciated.
> @TomG said:
> I remember QRT Engine from a few years ago. Actually, I'm surprised it has continued to work this long.

Hi TomG,

I've just discovered a new issue caused by the use of QRT Engine, hopefully you able to help again. The text box in the image below does not load when the survey runs. As a result, participants are unable to enter a rating. The javascript for this item is pasted below the image.

!


QRTE.Stimulus ({
id: 'Ind_Confidence', //Should be a unique ID, per stimulus in a trial block
onShowFn: function() {
$('Plug').style.display = 'None';

var id = 'confidenceText';
field = document.getElementById(id);

field.style.display = 'inline';
field.focus();
field.select();

function check(rating) {
if (rating && rating >= 0 && rating <= 100) {
return true
} else {
alert ('Please type a number between 0 and 100.')
return false
}
}

// Proceed on 'Enter' key press
field.onkeyup = function(e){
if(e.keyCode == 13 || e.keyCode == 13){
var rating = field.value;
if (check(rating)) {
e.preventDefault();
QRTE.proceed();
return (false)
}
}
}
},

// Save individual confidence rating at end.
onHideFn: function(ele, ts) {
var rating = field.value;
QRTE.setTrialData(ele.userId + '[resp]', rating);
}
});

Leave a Reply