Checkbox im Modulinput

Gesperrt
lonestar
Beiträge: 18
Registriert: Do 20. Aug 2009, 18:19
Kontaktdaten:

Checkbox im Modulinput

Beitrag 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
BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Re: Checkbox im Modulinput

Beitrag 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);
...
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+
_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: Checkbox im Modulinput

Beitrag 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
lonestar
Beiträge: 18
Registriert: Do 20. Aug 2009, 18:19
Kontaktdaten:

Re: Checkbox im Modulinput

Beitrag 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
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Checkbox im Modulinput

Beitrag 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]";
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: Checkbox im Modulinput

Beitrag 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]
lonestar
Beiträge: 18
Registriert: Do 20. Aug 2009, 18:19
Kontaktdaten:

Re: Checkbox im Modulinput

Beitrag 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.
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Checkbox im Modulinput

Beitrag 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]";
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
lonestar
Beiträge: 18
Registriert: Do 20. Aug 2009, 18:19
Kontaktdaten:

Re: Checkbox im Modulinput

Beitrag von lonestar »

@idea-tec

Vielen Dank für deine Hilfe.


Lonestar
Gesperrt