Gunnar Bittersmann: jQuery Funktion ausführen beim bearbeiten

Beitrag lesen

@@Meowsalot


<div class="textfeld" id="ganztags">
	
	<label for="k_ganztags">Ganztags</label>
	<input name="k_ganztags" 
		   type="radio" 
		   value="1" <?php echo ($k_ganztags == '1'?'checked="checked"':NULL) ?>/>
	<span style="margin-left:8px; margin-right:10px;">Ja</span> 
	
	<input name="k_ganztags" 
		   type="radio" 
		   value="0" <?php if(!isset($_GET['code'])) {echo "checked";}?> <?php echo ($k_ganztags == '0'?'checked="checked"':NULL) ?>/>
	<span style="margin-left:8px;">Nein</span>

</div>

<label for="k_ganztags"> bezieht sich auf ein Eingabe-Element (bzw. Ausgabe-Element) mit der ID k_ganztags. Ein solches gibt es bei dir nicht.

<input name="k_ganztags" type="radio" > – der Radiobutton hat keine Beschriftung.

Und auch der zweite Radiobutton muss ein eigenes label haben.

Die Beschriftung für die Gruppe von Radiobuttons wäre als legend eines fieldset-Element gut aufgehoben.

Das Ganze sollte so aussehen:

<fieldset>
	<legend>Ganztags</legend>
	<label>
		<input name="k_ganztags" type="radio" value="0" 
<?php if ($k_ganztags == '1'): ?>
			checked=""
<?php endif; ?>
		/>
		<span>Ja</span>
	</label>
	<label>
		<input name="k_ganztags" type="radio" value="1" 
<?php if ($k_ganztags == '0'): ?>
			checked=""
<?php endif; ?>
		/>
		<span>Nein</span>
	</label>
</fieldset>

(Bekommt die nächste Version des CForums einen brauchbaren Syntaxhighlighter spendiert, @Christian Kruse?)

Ob die Bedingungen so sein sollen, musst du wissen. Wie du es hattest, macht das keinen Sinn; dass checked-Attribut darf nicht doppelt gesetzt werden.


<div class="textfeld abstand_2" id="zeitraum_b">
	<label for="firma">Zeitraum</label>
	<input type="text" 
		   name="k_von" 
		   id="k_von" 
		   style="width: 6em; margin-right: 0.5em;" 
		   value="<?php echo htmlspecialchars($k_von);?>" > bis
		          
	<input type="text" 
		   name="k_bis" 
		   id="k_bis" 
		   style="width: 6em; margin-left: 0.5em" 
		   value="<?php echo htmlspecialchars($k_bis);?>" > Uhr
</div>

Auch hier muss jedes Eingabefeld ein zugehöriges label haben:

<fieldset>
	<legend>Zeitraum</legend>
	<label for=k_von">von <span class="visually-hidden">(Uhrzeit)</span></label>
	<input name="k_von" id="k_von" value="<?php echo htmlspecialchars($k_von); ?>"/>
	<label for=k_von">bis <span class="visually-hidden">(Uhrzeit)</span></label>
	<input name="k_von" id="k_von" value="<?php echo htmlspecialchars($k_von); ?>"/>
  Uhr
</fieldset>

„(Uhrzeit)“ gehört in die labels; kann aber visuell vesteckt werden:

.visually-hidden
{
	position: absolute !important;
	width: 1px;
	height: 1px; 
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

LLAP 🖖

--
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann