Zum Inhalt springen

Einstelllung einer Checkbox beibehalten.


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

hatte vor einigen Tagen eine Problemstellung hier beschrieben -> [Javascript] Links über Checkboxen deaktivieren.

Dieser Thread soll die Ausgangslage für meine jetzige Frage sein.

Wenn ich auf den einzig verbleibenden offenen Link (Es sind 6 Karteireiter, 5 werden bei dem Aktivieren der Checkbox ausgeblendet) klicke und somit die Seite neu lade, so geht die Einstellung der Checkbox verloren und die deaktivierten Links sind wieder da.

Wie kann ich das umgehen?

Da ich, wie in dem anderen Thread gesagt, ein relativer Newbie bin, weiß ich nicht wirklich weiter.

Meine spontanene Ideen waren eine Zwischenspeicherung in der Backend-DB oder die Übergabe des Status an die URL, aber ihr kennt doch sicherlich elegantere Wege, oder?

Gruß

JNeudorf

Geschrieben

Wenn du die Seite neu lädst, kannst du die übertragenen Daten vor der Ausgabe deiner Seite abfangen.

Wenn darin daten bezüglich deiner Checkbox enthalten sind, setzt du sie auf aktiviert, wenn nicht, lässt du sie deaktiviert.


<?
var $selektiert = "";
if(isset($_POST['checkbox']))
$selektiert = " checked ";
?>

<checkbox <?=$selektiert; ?> name="checkbox" value="bla" />
[/PHP]

^^ oder so ähnlich

Geschrieben

Mhhh... im Grunde ist es mir egal. Javascript oder PHP.

Ich habe erstmal als Workaround einfach den Link auf die aktuellen Seite ausgestellt, so dass der "obige Fall" nur noch beim Klicken auf "Aktualisieren" beim Browser auftritt.

Geschrieben
also kurz und knapp wenn egal ob JS oder PHP:

1. frameset

2. (mein lieblingswort zur Zeit ;)) AJAX

3. Eytibis Lösung

wo liegt das Problem?

Wo das Problem liegt? Nun ja... das liegt darin, dass ich nur sehr wenig bis keine Erfahrung in Web-Programmierung habe.

Geschrieben
Und was spricht dann dagegen sich einfach in das Thema einzuarbeiten?!

Da bin ich ja gerade bei. Mache mein erstes Web-Projekt. Aber manchmal kommt man ohne etwas Starthilfe halt nicht aus.

Es ist ja nicht so, dass ich jetzt jede Kleinigkeit hier fragen werde... ^^

Geschrieben

Hi,

also so sollte es gehen (angelehnt an die obere Lösung):


<?php

$checked = '':


if($_POST['name_der_checkbox'] == 'ja')

$checked = 'checked';

?>


<input type="checkbox" name="name_der_checkbox" value="ja" <?php echo $checked; ?> />

Beschreibung: Wenn beim Aufruf der Seite jemand die Checkbox markiert und danach das Formular absendet, werden die Formulardaten ja per POST- oder GET-Variable übergeben (je nachdem, was in dem <form> als method steht).

Wenn du als action im Form-Tag $_SERVER['PHP_SELF'] gewählt hast, dann wird ja die gleiche Seite erneut geladen. Da nun geschaut wird, ob die Checkbox ausgewählt wurde (mit dem if($_POST..)) wird, wen dem der Fall ist, die Variable $checked auf checked gesetzt - ist dies nicht der Fall, bleibt die Variable leer.

Nun wird zudem im Input-Feld der Inhalt der Variablen $checked angezeigt - also entweder checked oder nichts.

Hoffe, daß es einigermaßen verständlich war.

Gruß,

Dirk

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...