Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi

SUJET : hide question if prefilled

hide question if prefilled il y a 10 mois 1 semaine #99927

  • andrewz
  • Portrait de andrewz
  • Hors ligne
  • Fresh Lemon
  • Messages : 2
  • Karma: 0
I prefill one answer using a URL like this

www.example/index.php/survey/index/sid/7...712544X99X2152=12345

Then I set the "always hide" option. Most of the time, this works, but sometimes the parameters are missing, so the answer is blank.

When it is blank, I want to unhide the question. I tried using a relevance equation of !is_empty(foo), but this seems to always hide the question and break recording of the answer in both cases.

Version 2.00+ Build 130913
L'administrateur a désactivé l'accès en écriture pour le public.

hide question if prefilled il y a 10 mois 1 semaine #99936

  • tpartner
  • Portrait de tpartner
  • Hors ligne
  • LimeSurvey Team
  • Messages : 4071
  • Remerciements reçus 748
  • Karma: 341
I don't think you want to use relevance because the question should always be relevant, whether pre-populated or not.

Assuming it is a short-text question, try not using the "always hide" option, set up your survey to use JavaScript and add this to the question source:
<script type="text/javascript" charset="utf-8">	
	$(document).ready(function() {
		if($('#question{QID} input.text').val() == '') {
			$('#question{QID}.hide();
		}
	});	
</script>


Of course, this will also hide the question if a respondent answers it, moves on in the survey and then returns to the group later.
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
L'administrateur a désactivé l'accès en écriture pour le public.

hide question if prefilled il y a 10 mois 1 semaine #99947

  • DenisChenu
  • Portrait de DenisChenu
  • Hors ligne
  • Moderator Lime
  • Messages : 6238
  • Remerciements reçus 794
  • Karma: 238
Hi,

Think i use 2 question.
First with hide settings prefilled by URL
Second : is_empty(FIRST)

ANd maybe a 2rd equation question type:
{FIRST.NAOK}{SECOND.NAOK}

Denis
L'administrateur a désactivé l'accès en écriture pour le public.

hide question if prefilled il y a 10 mois 1 semaine #99990

  • andrewz
  • Portrait de andrewz
  • Hors ligne
  • Fresh Lemon
  • Messages : 2
  • Karma: 0
Denis, this sounds like what I came up with.

I added a second question which is irrelevant when the first question is not empty.
L'administrateur a désactivé l'accès en écriture pour le public.

hide question if prefilled il y a 7 mois 2 jours #102944

  • dweisser
  • Portrait de dweisser
  • Hors ligne
  • Bronze Donor
  • Messages : 196
  • Remerciements reçus 5
  • Karma: 5
I would like to hide the question if a textarea has been filled.

I'm using a question with a timer. It is the only question in the category.
I thought I had this working...
<script type="text/javascript" charset="utf-8">	
$(document).ready(function() {
  if($('#answer724821X200X1391').length > 0) {
			$('#question1391').hide();
alert($('#answer724821X200X1391').attr('value'));
  }
});
</script>

But it hides the question whether there is any text in the textarea or not. Any thoughts would be most appreciated. Thanks for maintaining such a great resource.
David
Dernière édition: il y a 7 mois 2 jours par dweisser.
L'administrateur a désactivé l'accès en écriture pour le public.

hide question if prefilled il y a 7 mois 2 jours #102945

  • tpartner
  • Portrait de tpartner
  • Hors ligne
  • LimeSurvey Team
  • Messages : 4071
  • Remerciements reçus 748
  • Karma: 341
Try:
if($('#answer724821X200X1391').val() != '') {
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
L'administrateur a désactivé l'accès en écriture pour le public.

hide question if prefilled il y a 7 mois 1 jour #102964

  • dweisser
  • Portrait de dweisser
  • Hors ligne
  • Bronze Donor
  • Messages : 196
  • Remerciements reçus 5
  • Karma: 5
That did the trick.

You know, I was trying that at one point, but I was trying to extend the if statement to handle a Default Answer.
So:
<script type="text/javascript" charset="utf-8">	
$(document).ready(function() {
if(($('#answer724821X200X1391').val() != '') or ($('#answer724821X200X1391').val() != 'Enter your response here.')) {
			$('#question1391').hide();
//alert($('#answer724821X200X1391').attr('value'));
  }
});
</script>

But, it didn't work. I just got rid of the Default answer and all is well.
L'administrateur a désactivé l'accès en écriture pour le public.

hide question if prefilled il y a 7 mois 22 heures #102973

  • tpartner
  • Portrait de tpartner
  • Hors ligne
  • LimeSurvey Team
  • Messages : 4071
  • Remerciements reçus 748
  • Karma: 341
For a default answer in a text question, try:

if($('#answer724821X200X1391').val() != '' && $('#answer724821X200X1391').val() != 'Enter your response here.') {
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
L'administrateur a désactivé l'accès en écriture pour le public.
Modérateurs: ITEd
Temps de génération de la page : 0.256 secondes
Donation Image