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
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;?>> <?php echo mi18n("Ja");?><br/>
<input type="radio" name="<?php echo "CMS_VAR[1]";?>" value="Nein"<?php echo $c2;?>> <?php echo mi18n("Nein");?><br/>
</td>
</tr>
Output:
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
Re: Checkbox im Modulinput
Verfasst: Mo 2. Nov 2009, 08:08
von lonestar
@idea-tec
Vielen Dank für deine Hilfe.
Lonestar