phpbar.de logo

Mailinglisten-Archive

[php] Mozilla 1.4 Win XP und der Default fuer Radiobuttons

[php] Mozilla 1.4 Win XP und der Default fuer Radiobuttons

Sebastian Tobias Mendel genannt Mendelsohn lists at sebastianmendel.de
Mon Okt 13 11:38:38 CEST 2003


> Folgendes kleine Formularscript verhält sich *beim ersten
> Aufruf* in Mozilla 1.4 und MSIE 6 sp1 (beide Win XP Pro)
> unterschiedlich, was die Selektion des Default-Buttons (es
> soll der obere Radiobuttons selektiert sein) anbelangt.
> 
> In IE 6 ist korrekt der obere Button vorselektiert, in Moz
> 1.4 bleiben dagegen alle Buttons unselektiert.
> 
> Im weiteren Verlauf (also bei mehrfachem Posten) wird dann
> zwar bei beiden der jeweils selektierte Radiobutton korrekt
> weitergegeben - mich stört jedoch, dass der User beim ersten
> Aufruf evtl. nicht weiss, welcher Wert nun gilt.
> 
> 
> <?php
> if(empty($_POST['position']))
> {
>    $position = "oben";
> }
> else
> {
>    $position = $_POST['position'];
> }
> 
> if ($position == "oben")
> {
>     $radio1['oben'] = "checked=\"checked\"";
> }
> else
> {
>     $radio1['oben'] = "";
> }
> 
> if ($position == "mitte")
> {
>     $radio1['mitte'] = "checked=\"checked\"";
> }
> else
> {
>     $radio1['mitte'] = "";
> }
> 
> if ($position == "unten")
> {
>     $radio1['unten'] = "checked=\"checked\"";
> }
> else
> {
>     $radio1['unten'] = "";
> }
> ?>
> 
> <form method="post" action="<?php echo
> $_SERVER['PHP_SELF'];?>">
> 
> <input type="radio" name="position" value="oben" <?php echo
> $radio1['oben'];?>>Oben<br>
> 
> <input type="radio" name="position" value="mitte" <?php echo
> $radio1['mitte'];?>>Mitte<br>
> 
> <input type="radio" name="position" value="unten" <?php echo
> $radio1['unten'];?>>Unten<br>
> 
> <input type="submit" name="submit" value="Absenden" />
> 
> </form>

also bei mir funktioniert es so, hab allerdings auch nur unter Win2k mit 
FireBird probiert, aber probier doch mla den code wie folgt:

<?php

$radio1['oben'] = '';
$radio1['mitte'] = '';
$radio1['unten'] = '';

if ( isset($_POST['position']) && array_key_exists($_POST['position'], 
$radio1) )
{
     $radio1[$_POST['position']] = 'checked="checked"';
}
else
{
     $radio1['oben'] = 'checked="checked"';
}
?>


denn bei deinem code weißt du gar nicht was passiert wenn mal was anders 
in $_POST['position'] drin steht ...

-- 
Sebastian Mendel

www.sebastianmendel.de
www.tekkno4u.de
www.nofetish.com


php::bar PHP Wiki   -   Listenarchive