Ik probeer verschillende radiobuttons aan de hand van de POST waarde hiervan checked te maken. In Chrome Firefox etc werkt het wel, maar natuurlijk weer niet in Internet Explorer.

Wat is de juiste manier om een radio button de checked state te geven, zodat het in alle browsers werkt ?

Heb al geprobeerd:
<?php
echo 'checked=yes';
echo 'checked="yes"';
echo 'checked=true';
echo 'checked="true"';
echo 'checked=1';
echo 'checked="1"';
echo 'checked=checked';
echo 'checked="checked"';

?>
Kan er vreemd genoeg niks zinnigs over vinden (lees: een oplossing) op internet.

[size=xsmall]Toevoeging op 14/09/2011 16:33:49:[/size]

Merk nu trouwens dat het in FireFox toch NIET werkt.....

<input name="test" type="radio" checked="checked" />


En anders:

<?PHP
$CHECK = 'CHECKED';
?>
<input name="test" type="radio"<?php echo $CHECK; ?> />

simpel:

<label>
      <input type="radio" name="RadioGroup1" value="radio" id="RadioGroup1_0" />
      Keuze 1</label>
    <br />
    <label>
      <input type="radio" name="RadioGroup1" value="radio" id="RadioGroup1_1" checked="checked" />
      Keuze 2</label>
    <br />

Dat is de html code
Dit heb ik dus geprobeerd, maar het werkt gewoon niet in IE en Firefox (wel in chrome)

Mijn code ziet er als volgt uit:
<?php
<legend>Brandstof:</legend>
<input type="radio" name="brandstof" value="Benzine" <?php if($k_brandstof == "Benzine"){echo " checked ";}?> /> Benzine<br>
<input type="radio" name="brandstof" value="Diesel" <?php if($k_brandstof == "Diesel"){echo " checked ";}?>> Diesel<br>
<input type="radio" name="brandstof" value="LPG" <?php if($k_brandstof == "LPG"){echo " checked ";}?>> LPG<br>
?>
Maar dit werkt gewoonweg niet :S

(heb echo 'CHECKED'; ook geprobeerd, helaas ook niet....)

[size=xsmall]Toevoeging op 14/09/2011 17:04:10:[/size]

hmm. Ik heb net de bron bekeken in Internet Explorer. Ziet er dus naar uit dat mijn 'checked' om een of andere reden gewoon niet wordt ge-echo'd....
De code die je in je post hierboven hebt staan kan niet goed zijn (gezien kleurtjes).
Gebruik [.code] [/.code] tags (zonder .)

Je zet nu alleen checked neer. Dat zou, volgens mij, checked="checked" moeten zijn.
Zoek anders een met Google op tut / tips daarover. Kan me niet voorstellen dat je de 1e bent met die vraag ;-)
Meer zoiets
<?php
$gasolinechecked = '';
$oilchechedked = '';
$lpgchechecked = '';
if ($fuel == gaoline) {
	$gasolinechecked = 'checked="checked"';
}
elseif  ($fuel == 'oil') {
	$oilchecked = 'checked="checked"';
}
?>
<input type="radio" name="brandstof" value="Benzine" <? echo $gasolinechecked; ?> />
Echo $k_brandstof eens. Die is waarschijnlijk leeg of bestaat niet.

Zet dit bovenin:

<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest

?>
@ - SanThe -
Hier kwam ik dus snel genoeg ook achter. Het probleem zit echt in iets heel vreemds. Als ik straks even wat meer tijd heb zal ik het uitleggen.

Kort gezegd kwam het erop neer dat ik het formulier include aan de hand van of een $_GET variabele bestaat. Chrome snapte hoe hij het form moet posten (action="" bij het formulier)

Om de een of andere vage reden werkte dit niet met IE en firefox. Zal het later vanavond even helemaal uitleggen...

Reageren