Seite 1 von 1

Checkbox im Modulinput

Verfasst: Do 29. Okt 2009, 14:45
von lonestar
Hi

Habe hier im Forum schon einiges dazu gefunden. Leider keine Lösung.

Habs schon mir Radio-Button und Checkbox versucht. Aber wenn ich ein Feld anwähle und speichere ist die Selektion wieder weg.

Hier mal ein Beispiel (Im Input):

Code: Alles auswählen

?>
<table border="0">
    <tr>        
        <td><input type="radio" name="<?php echo "CMS_VAR[0]";?>" value="1"></td>
        <td><input type="radio" name="<?php echo "CMS_VAR[0]";?>" value="2"></td>
    </tr>
    </table>
    <?php
Und wie kann ich im Output den Value auslesen. (z.b. für if else Abfrage)

Danke schonmal im Voraus

Gruß

lonestar

Re: Checkbox im Modulinput

Verfasst: Do 29. Okt 2009, 17:16
von BagHira
Servus lonestar,

Ganz kurz, da ich schon wieder keine Zeit hab :-)

Code: Alles auswählen

if ($_POST['email_active'] != "1")
{
   $email_active_checked_0 = "checked";
   $email_active_checked_1 = "";
}
else
{
   $email_active_checked_0 = "";
   $email_active_checked_1 = "checked";
}

Code: Alles auswählen

$emailactive = "<input id=\"email_active\" type=\"radio\" name=\"email_active\" value=\"1\" ".$email_active_checked_1.$einzeltag.">Ja";
$emailactive = $emailactive."<input id=\"email_active\" type=\"radio\" name=\"email_active\" value=\"0\" ".$email_active_checked_0.$einzeltag.">Nein";

Code: Alles auswählen

$tpl->reset();
...
$tpl->set('s', 'EMAILACTIVE',   $emailactive);
...

Re: Checkbox im Modulinput

Verfasst: Do 29. Okt 2009, 18:51
von _wiewo_
INPUT
ENTFERNT... war falsch

OUTPUT

Code: Alles auswählen

<?php $sSelectedCheckbox = "CMS_VALUE[0]" ?>
ungetestet, aber sollte richtig sein

EDIT
output dürfte wirklich klappen, aber der input nicht, da muss checked="checked" bei rauskommen

also muss da vorher ne abfrage hin in den input

neuer Input

Code: Alles auswählen

$sChecked1 = ("CMS_VALUE[0]" == '1' ?  "checked" : "");
$sChecked2 = ("CMS_VALUE[0]" == '2' ?  "checked" : "");

?>
<table border="0">
  <tr>       
    <td><input type="radio" name="<?php echo "CMS_VAR[0]";?>" checked="<?php echo $sChecked1; ?>" value="1"></td>
    <td><input type="radio" name="<?php echo "CMS_VAR[0]";?>" checked="<?php echo $sChecked2; ?>" value="2"></td>
  </tr>
</table>
<?php

Re: Checkbox im Modulinput

Verfasst: Do 29. Okt 2009, 23:56
von lonestar
Danke erstmal euch beiden.

Habe beide Varianten ausprobiert. Keine hat funktioniert. Wenn ich einen der beiden Radio Buttons anklicke und speichere verschwindet sofort wieder die Selektion. Kann man irgendwo überprüfen, ob der Wert richtig gespeichert wurde.
Hab schon in der DB gesucht. Wüsste aber nicht wo man das finden kann.

Habs auch schon mit

Code: Alles auswählen

   <select name="<?php echo "CMS_VAR[1]";?>" id="Button">
      <option value="1">Ja</option>
      <option value="2">nein</option>
    </select>

probiert. Genau das selbe. Ich klicke nein an. Und nach dem speichern steht wieder ja da. Das einzige was funktioniert sind normal Text-Input-Felder. Hier werden die Werte korrekt gespeichert.


Lonestar

Re: Checkbox im Modulinput

Verfasst: Fr 30. Okt 2009, 07:02
von idea-tec
so, dann fangen wir mal an!
Input:

Code: Alles auswählen

    <?php
    $c1 = '';
    $c2 = '';
    switch (strtolower("CMS_VALUE[1]")) {
        case "ja" :
            $c1 = ' checked';
            break;
        case "nein" :
            $c2 = ' checked';
            break;
        default :
            $c1 = ' checked';
    }
    ?>
    <tr>
        <td valign="top"><?php echo mi18n("irgendwas");?></td>
        <td>
            <input type="radio" name="<?php echo "CMS_VAR[1]";?>" value="Ja"<?php echo $c1;?>>&nbsp;<?php echo mi18n("Ja");?><br/>
            <input type="radio" name="<?php echo "CMS_VAR[1]";?>" value="Nein"<?php echo $c2;?>>&nbsp;<?php echo mi18n("Nein");?><br/>
        </td>
    </tr>
Output:

Code: Alles auswählen

$irgendwas = "CMS_VALUE[1]";
oder auch etwas komplexer:

Code: Alles auswählen

switch (strtolower("CMS_VALUE[1]")) {
            case "ja" :
                Irgendwelche_Funktionsaufrufe_oder_sonstwas;
                break;
            case "nein" :
                Irgendwelche_andere_Funktionsaufrufe_oder_sonstwas;
                break;
            default :
                Stabdardfunktionsaufrufe_oder_sonstwas;
}
$irgendwas = "CMS_VALUE[1]";

Re: Checkbox im Modulinput

Verfasst: Fr 30. Okt 2009, 07:30
von _wiewo_
lonestar hat geschrieben:

Code: Alles auswählen

   <select name="<?php echo "CMS_VAR[1]";?>" id="Button">
      <option value="1">Ja</option>
      <option value="2">nein</option>
    </select>

das kann auch nich funbktionieren, das CMS_VALUE[1] beinhaltet den gespeicherten wert von CMS_VAR[1]

Re: Checkbox im Modulinput

Verfasst: Fr 30. Okt 2009, 11:49
von lonestar
@idea-tec

Funktioniert. Danke. Ich hoffe ich habs auch einigermaßen verstanden.

Beim Speichern wird je nach dem ob ja/nein der geweilige Wert in CMS_VALUE[1] gespeichert. bevor der Input aufgerufen ist wird überprüft welcher Wert in Value ist und dem entsprechend einer der Radiobuttons als "aktiv" (Checked) gekennzeichnet.

Bei Output das selbe. Kann ich abfragen welcher Wert in Value ist.

Kannst mir eventl. noch ein Beispiel für eine Selectbox geben.

Code: Alles auswählen

<select name="<?php echo "CMS_VAR[1]";?>" id="Button">
      <option value="1">Ja</option>
      <option value="2">nein</option>
    </select>
Danke schonmal im Voraus

Gruß

Lonestar

PS: Ich bin immer wieder erstaunt wie schnell man hier Hilfe bekommt. Kenne ich von anderen Foren leider nicht so.

Re: Checkbox im Modulinput

Verfasst: Fr 30. Okt 2009, 17:28
von idea-tec
Na dann machen wir mal eine select-box
Input:

Code: Alles auswählen

$value1="CMS_VALUE[1]";
echo '<select name="CMS_VAR[1]">';
	echo '<option value="0"'; if ($value1=="0" || $value1=="") echo ' selected="selected"'; echo '>'.mi18n("Nix gewählt").'</option>';
	echo '<option value="1"'; if ($value1=="1") echo ' selected="selected"'; echo '>'.mi18n("Ja").'</option>';
	echo '<option value="2"'; if ($value1=="2") echo ' selected="selected"'; echo '>'.mi18n("Nein").'</option>';
echo '</select>';
Output

Code: Alles auswählen

$irgendwas = "CMS_VALUE[1]";

Re: Checkbox im Modulinput

Verfasst: Mo 2. Nov 2009, 08:08
von lonestar
@idea-tec

Vielen Dank für deine Hilfe.


Lonestar