Welcome, Guest
Username: Password: Remember me

TOPIC: smiley face without radiobutton and submitting

smiley face without radiobutton and submitting 2 years 7 months ago #70646

  • toma
  • toma's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Hi!

I would like to make a survey where answerer could choose one of three smiley faces. And when clicking that face it would also act like a submit button.

Images (smiley faces) should be aligned horizontally.

I can make something like this with radiobuttons or array.

naamat.jpg


On radiobuttons answers are aligned vertically and when you push image, radio button is selected. On array answers are aligned horizontally, but when pushing image, nothing is happening (so answerer have to push radiobutton).

And on both ways answerer have to push submit button after selection.

This is what i would like to have:

naamat2.jpg


So only smileys would be at screen and if possible each one sceled to 30% of screen.

Is this possible? Thanks!
The administrator has disabled public write access.

Re: smiley face without radiobutton and submitting 2 years 7 months ago #70652

  • floccs
  • floccs's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 47
  • Thank you received: 5
  • Karma: 2
You can try with this code inserted in your question (edit ID of questionID with your question ID)
<a href="javascript:selectface(0);"><img class="face num0" src="http://yourdomain.com/upload/01.jpg" /></a>
 
<a href="javascript:selectface(1);"><img class="face num1" src="http://yourdomain.com/upload/02.jpg" /></a>
 
<a href="javascript:selectface(2);"><img class="face num2" src="http://yourdomain.com/upload/03.jpg" /></a><br/>
 
<script type="text/javascript" charset="utf-8">
 
    function selectface(face) {
 
        $('.face').removeClass('selected');
        $('#questionID input.radio:eq('+face+')').attr('checked', true);
        $('.num'+face).addClass('selected');
    }
 
    $(document).ready(function() {
 
        $('#questionID .survey-question-answer ').hide();
        $('#questionID .questionhelp ').hide();
 
        selectface($('#questionID input.radio:checked').val() - 1);
 
    });
 
</script>
 
<style>
.face {
border:4px solid white;
}
 
.selected {
border:4px solid #cc0000;
}
</style>
Last Edit: 2 years 7 months ago by floccs.
The administrator has disabled public write access.

Re: smiley face without radiobutton and submitting 2 years 7 months ago #70658

  • toma
  • toma's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Thanks for answer.

How should I add that to my question? To some specific file? Or with Limesurvey when making survey?
The administrator has disabled public write access.

Re: smiley face without radiobutton and submitting 2 years 7 months ago #70659

  • floccs
  • floccs's Avatar
  • OFFLINE
  • Senior Lime
  • Posts: 47
  • Thank you received: 5
  • Karma: 2
You have to follow this procedure using the code I've written above (editing image locations and question ID according to your needs)
Last Edit: 2 years 7 months ago by floccs.
The administrator has disabled public write access.

Re: smiley face without radiobutton and submitting 2 years 7 months ago #70667

  • Mazi
  • Mazi's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 5300
  • Thank you received: 291
  • Karma: 247
I once saw an implementation where you could clikc an image instaed of a radio button. Maybe you find it at this forum or at manual -< workarounds.

Best regards/Beste Grüße,
Dr. Marcel Minke
(Limesurvey Head of Support)
Need Help? We offer professional Limesurvey support
Contact: marcel.minke(at)limesurvey.org'"
The administrator has disabled public write access.

Re: smiley face without radiobutton and submitting 2 years 7 months ago #70701

  • tpartner
  • tpartner's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 4066
  • Thank you received: 745
  • Karma: 341
I'm not sure that JavaScript is needed to control the appearance of selected options if clicking an image will submit the page (assuming the respondents are not allowed to return).

1) Set up your survey to use JavaScript.

2) Add the images as the answer options of a normal radio question (as in your screenshot with blue smilies). Since these images will be in the labels for the radios, clicking them will click the radio.

3) Add the following script to the source of the question. Replace "QQ" with the question ID. The script submits the page when an image is clicked.
<script type="text/javascript" charset="utf-8">
 
	$(document).ready(function(){
 
		$('#questionQQ label img').click(function(){
			setTimeout(function() { 
				$('form#limesurvey').submit();
			}, 500);
		});
	});
 
</script>

4) Add the following to the end of template.css. Again, replace "QQ" with the question ID. These rules will align the answer options side-by-side and hide the radio buttons.
#questionQQ li {
	float: left;
}
 
#questionQQ input.radio {
	display: none;
}
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.
The administrator has disabled public write access.

Re: smiley face without radiobutton and submitting 2 years 7 months ago #70705

  • Mazi
  • Mazi's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 5300
  • Thank you received: 291
  • Karma: 247
Do we have a workaround for this? If so, I was too stupid to find it. If I'm not that stupid, can you add it? Thanks!

Best regards/Beste Grüße,
Dr. Marcel Minke
(Limesurvey Head of Support)
Need Help? We offer professional Limesurvey support
Contact: marcel.minke(at)limesurvey.org'"
The administrator has disabled public write access.

Re: smiley face without radiobutton and submitting 2 years 7 months ago #70708

  • tpartner
  • tpartner's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 4066
  • Thank you received: 745
  • Karma: 341
Mazi, there is no workaround for this (I think you remember something on my server).

I don't think I should add my solution to the workarounds as it is for a very specific case with the images triggering a page submit and no "selected" effects.
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.
The administrator has disabled public write access.

Re: smiley face without radiobutton and submitting 2 years 7 months ago #70717

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6207
  • Thank you received: 788
  • Karma: 238
Mazi wrote:
Do we have a workaround for this? If so, I was too stupid to find it. If I'm not that stupid, can you add it? Thanks!
Maybe this one no ?

docs.limesurvey.org/tiki-index.php?page=...g#Star_Rating_System
( Star rating system )
The administrator has disabled public write access.

Re: smiley face without radiobutton and submitting 2 years 7 months ago #70718

  • toma
  • toma's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Hi,

And thanks!

Can I combine these two versions? Something like this:
<a href="javascript:selectface(0);"><img class="face num0" src="http://yourdomain.com/upload/01.jpg" /></a>
 
<a href="javascript:selectface(1);"><img class="face num1" src="http://yourdomain.com/upload/02.jpg" /></a>
 
<a href="javascript:selectface(2);"><img class="face num2" src="http://yourdomain.com/upload/03.jpg" /></a><br/>
 
<script type="text/javascript" charset="utf-8">
 
    function selectface(face) {
 
        $('.face').removeClass('selected');
        $('#questionID input.radio:eq('+face+')').attr('checked', true);
        $('.num'+face).addClass('selected');
    }
 
    $(document).ready(function() {
 
        $('#question66 .survey-question-answer ').hide();
        $('#question66 .questionhelp ').hide();
 
        selectface($('#question66 input.radio:checked').val() - 1);
 
 
	$('#question66 label img').click(function(){
		setTimeout(function() { 
			$('form#limesurvey').submit();
		}, 500);
	});
 
    });
</script>

That click-part doesnt work, not sure how it should be done ("label img" should be replaced with something else would be my guess)... So if anyone would have some ideas I'd like to hear.
Last Edit: 2 years 7 months ago by toma.
The administrator has disabled public write access.
Moderators: ITEd
Time to create page: 0.277 seconds
Donation Image