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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...