Das ist die Subroutine:
sub checkbox_question {
#####################################################
Gibt eine Frage auf aus #
Parameter: #
$_[0] = Variablenname #
$_[1] = Fragentext #
$_[2] = Text1 #
$_[3] = Text2 #
$_[4] = Text3 #
$_[5] = Text4 #
$_[6] = nocolorchange, wenn nicht lehr, kommt es zu keinem farbwechsel in der zeile #
#####################################################
local ($varname, $question,$text[1],$text[2],$text[3],$text[4],$nochange) = @_;
local ($index);
if ($nochange eq "") {
if ($linecolor eq "dg") {$linecolor="lg";} else {$linecolor="dg";} # Zeilenfarbe abwechseln
}
print <<End;
<tr class="$linecolor" onmouseover="this.className='hl'" onmouseout="this.className='$linecolor'">
<td>$question</td>
End
for ($index=1; $index<=4;$index++) {
local ($newvar=$varname."_".$index);
if ($inputs{$newvar} eq "1") {$checked="checked";} else {$checked="";} #Wenn Formularfeld bereits ausgefüllt auf richten wert setzen
if ($text[$index] eq "") {
print <<End;
<td> </td><td> </td>
End
} else
{
#bei checkbox hidden field immmer erzeugen wichtig, da sonst akutalisierung in db fehlschlägt...
print <<End;
<td><input type="hidden" name="$newvar" value=""><input type="checkbox" name="$newvar" value="1" $checked></td><td>$text[$index]</td>
End
}
}
print <<End;
</tr>
End
}