I am creating a page that is a survey. Among other things, it asks for sets of multiple-choice responses that apply to a bunch of different subjects.

I start with about 10 data-entry questions (when did you attend the class, how long have you done this, etc), then I have several rows of 3 sets each of checkboxes/radio buttons on each line displayed horizontally with .css. So far so good.

What I currently have: (sorry I cant do screencaps here)

Subject          does this apply to you           rate applicability 1-5        rate functionality 1-5
                     [] Yes   [] No               O 1  O 2  O 3  O 4  O 5       O 1  O 2  O 3  O 4  O 5
                     [] Yes   [] No               O 1  O 2  O 3  O 4  O 5       O 1  O 2  O 3  O 4  O 5
                     [] Yes   [] No               O 1  O 2  O 3  O 4  O 5       O 1  O 2  O 3  O 4  O 5
                     [] Yes   [] No               O 1  O 2  O 3  O 4  O 5       O 1  O 2  O 3  O 4  O 5

What I want:

Subject          does this apply to you           rate applicability 1-5        rate functionality 1-5
Introduction         [] Yes   [] No               O 1  O 2  O 3  O 4  O 5       O 1  O 2  O 3  O 4  O 5
Basic theory         [] Yes   [] No               O 1  O 2  O 3  O 4  O 5       O 1  O 2  O 3  O 4  O 5
Variations           [] Yes   [] No               O 1  O 2  O 3  O 4  O 5       O 1  O 2  O 3  O 4  O 5
Advanced             [] Yes   [] No               O 1  O 2  O 3  O 4  O 5       O 1  O 2  O 3  O 4  O 5
and so forth...

However, I am at a loss as to how to put the "Subject" column in.

I am using a "markup" html table above the first multiple choice row to provide the column labels, but I need to put the question itself on each line.

There doesn't seem to be an element in webform that is only output with no input, and the "markup" element has no CSS or fieldset capability.

And the "Inline Label" function puts them AFTER the input not BEFORE so I cant just make the question the label for the first element (what I had originally planned to do).

And while there are tons of elements with a "hide label" option, I don't see an element that has a "hide input field but show the label" capability.

Suggestions pls?

Comments

DebMorris’s picture

I accomplished something similar using a combination of layout boxes. I had one overall layout box that contained all of the fields, then each "question" was a separate layout box. The primary box was set for horizontal alignment, then the individual pieces were set for vertical alignment.

Here's a sample of how it's set up in the content type:

Person 1 Demographics		Layout Box	(set to horizontal alignment)
	p1layout		Layout Box	(set to vertical alignment)
		Gender		Select options
	p1layout2		Layout Box	(set to vertical alignment)
		Race		Select options
	p1layout3		Layout Box	(set to vertical alignment)
		Ethnicity	Select options

Edit: Layout boxes are available through an additional module - Webform Layout. Forgot about that when writing the initial response.