Put the answer and question at the same line

More
4 years 5 months ago #97220 by byan
byan created the topic: Put the answer and question at the same line
Dear all,

For questions such as Name, I'd like to put the "short free text" answer box at the same line as the question. The purpose is to make the survey look shorter. I have played with the template with on luck. Any suggestions? Thanks!

Please Log in to join the conversation.

More
4 years 5 months ago #97246 by actxcellence
actxcellence replied the topic: Put the answer and question at the same line
If you ask more than one short text, try multi short text.

If you want answers with questions in one row, edit the template file question.pstlp

To get this:

Attachment name_same_row.png not found



remove two lines from the default template:

Attachment name_same_row_edit.png not found



but this will change all appearence of question and answer.

look here for changes on a single question:
manual.limesurvey.org/Workarounds:_Quest..._.22question_code.22

Schon die Bedienungsanleitung von LimeSurvey angeschaut?
Bedienungsanleitung (DE) | Tricks, um mehr Antworten auf Fragen im Forum zu erhalten
Attachments:

Please Log in to join the conversation.

More
4 years 5 months ago #97247 by byan
byan replied the topic: Put the answer and question at the same line
In the template I am dealing with, <div> is used. I could use div {display: inline;} to make it happen. But as you said, that will mess up the whole layout. I guess this is no easy work-around at this time. Thank you!

Please Log in to join the conversation.

More
4 years 5 months ago #97265 by tpartner
tpartner replied the topic: Put the answer and question at the same line
If your template uses <div> elements, you should be able to use JavaScript to wrap the question and answer divs in a new div and then display them inline. The script would only affect the parent question.

Can you attach an export of your template or activate a test survey?

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

Please Log in to join the conversation.

More
4 years 5 months ago #97278 by byan
byan replied the topic: Put the answer and question at the same line
Below is the code from question.pstpl. My understanding is that it applies to all questions.

<div {QUESTION_ESSENTIALS} class="{QUESTION_CLASS}{QUESTION_MAN_CLASS}{QUESTION_INPUT_ERROR_CLASS}">
<div class="survey-question">
<div class="survey-question-text">
<!-- {QUESTION_CODE}: --><span class="asterisk">{QUESTION_MANDATORY}</span><span class="qnumcode">{QUESTION_NUMBER} {QUESTION_CODE}. </span>{QUESTION_TEXT}<br />
<span class="questionhelp">{QUESTION_HELP}</span>
{QUESTION_MAN_MESSAGE}
{QUESTION_VALID_MESSAGE}
{QUESTION_FILE_VALID_MESSAGE}
</div>
<div class="survey-question-answer">{ANSWER}</div>

</div>
<div class="survey-question-space"></div>
</div>

Please Log in to join the conversation.

More
4 years 5 months ago #97279 by tpartner
tpartner replied the topic: Put the answer and question at the same line
Can you attach an export of your template or activate a test survey?

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

Please Log in to join the conversation.

More
4 years 5 months ago #97280 by byan
byan replied the topic: Put the answer and question at the same line
Here it is.
Attachments:

Please Log in to join the conversation.

More
4 years 5 months ago - 4 years 5 months ago #97281 by tpartner
tpartner replied the topic: Put the answer and question at the same line
Oh, that's even easier than I thought. The question and answer divs already have a wrapper div.

Set up your survey to use JavaScript and add this to the question source. This script will apply a new "inlineAnswer" class to the question.
<script type="text/javascript" charset="utf-8">	
	$(document).ready(function(){
		$('#question{QID}').addClass('inlineAnswer');
	});
</script>


Then you can add something like this to the end of template.css:
/** Inline answer questions **/
 
.inlineAnswer .survey-question-text,
.inlineAnswer .survey-question-answer {
	float: left;
}

Attachment Capture_2013-06-22.JPG not found



I think you can also remove the <br /> tag in question.pstpl to get rid of some of the whitespace under the question. The following spans are set to display block so should end up on new lines anyway.

Attachment Capture2_2013-06-22.JPG not found


Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
Attachments:
Last Edit: 4 years 5 months ago by tpartner.

Please Log in to join the conversation.

More
4 years 5 months ago #97283 by byan
byan replied the topic: Put the answer and question at the same line
It is not working in my case. I tried IE, Firebox, Chrome, and Opera. I tried adding display: inline; right after float: left; in the template.css and that did not help either.

I activated the survey at survey.bluevalleyk12.org/index.php?sid=28238&lang=en so that you can take a look. Thank you very much for your help!

Please Log in to join the conversation.

More
4 years 5 months ago #97284 by tpartner
tpartner replied the topic: Put the answer and question at the same line
What version of LimeSurvey?

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

Please Log in to join the conversation.

More
4 years 5 months ago #97285 by byan
byan replied the topic: Put the answer and question at the same line
Version 1.91+ Build 11804

Please Log in to join the conversation.

More
4 years 5 months ago #97286 by tpartner
tpartner replied the topic: Put the answer and question at the same line
In that case, you will need to use the question ID instead of the {QID} placeholder.

Student Name:
<script type="text/javascript" charset="utf-8">	
	$(document).ready(function(){
		$('#question941').addClass('inlineAnswer');
	});
</script>


Teacher Name:
<script type="text/javascript" charset="utf-8">	
	$(document).ready(function(){
		$('#question942').addClass('inlineAnswer');
	});
</script>

Cheers,
Tony Partner
Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The following user(s) said Thank You: byan

Please Log in to join the conversation.

More
4 years 5 months ago #97287 by byan
byan replied the topic: Put the answer and question at the same line
It worked beautifully! Thanks!

Please Log in to join the conversation.

More
4 years 5 months ago #97288 by tpartner
tpartner replied the topic: Put the answer and question at the same line
Add this to template.css to align them better:
.inlineAnswer p.question {
	margin: 0;
}

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

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!