[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
WORKS4ME: Checkbox immer checked, wenn einmal gewählt - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
ThomasKühne
Beiträge: 56
Registriert: 8. Dez 2006, 19:58

WORKS4ME: Checkbox immer checked, wenn einmal gewählt

7. Apr 2008, 19:05

Hallo,

seit Redaxo 4.1.0 (evtl. auch schon bei 4.0.x) funktioniert bei mir die Checkbox-Auswertung im Input der Module nicht mehr:

Wenn die Checkbox als Standard nicht gechecked (kein Häckchen) ist, kann man sie aktivieren, aber man kann sie nicht mehr deaktivieren.

Da ja das HTML-Formular immer bei checked den value sendet, und bei nicht gechecked nichts sendet, scheint mir als würde der Value in der DB nicht mehr gelöscht, wenn das form nichts sendet.

Beispiel, das bei mir in Verwendung ist:

Code: Alles auswählen

if ( "REX_VALUE[6]" == "showlarge" ) { 
		$val6checked = "checked=\"checked\"";
	} else { 
		$val6checked = "";
	};
	?>
	<input type="checkbox" name="VALUE[6]" value="showlarge" <?php echo $val6checked; ?> />Link zu Originalbild setzen
Ich habe identischen Code auf mehreren recht unterschiedlichen Servern, und bei Redaxo 3.x funktioniert es immer, bei 4.1 nicht.

Sorry wenn ich nicht der Typ bin, der selbstständig im CVS nach Fixes suchen kann.
Vielen Dank für Tipps (wo im Core-Code man nachsehen müsste...)

Thomas[/code]

ThomasKühne
Beiträge: 56
Registriert: 8. Dez 2006, 19:58

Fehler gefunden: problem mit checkbox (mit POST bei Slice)

12. Apr 2008, 18:33

Hallo Leute,
da mir bisher keiner antworten konnte, habe ich mich selbst auf die Suche gemacht und wurde fündig:

In Redaxo 4.1 werden mit Absicht nur die REX-Values (respektive file/media/medialist) gesetzt, die der POST beim Speichern des Slice übermittelt. Dies geschieht mit Verweis auf den Post http://forum.redaxo.de/ftopic8174.html

Da damit ja ein anderes Problem behoben werden sollte und andere Teile des Codes von Redaxo 4.1 evtl. darauf aufbauen, überblicke ich nicht die Nachteile, wenn ich das ganze "zurück-ändere", indem ich Leerwerte setze.
(was ich für meine redaxo-Projekte jedoch erstmal tun musste.)

Somit kann dieses Problem auch noch nicht als "FIXED" markiert werden!

Ich hoffe, Ihr Redaxo-Core-Programmierer nehmt Euch der Sache an (oder habt Ihr evtl. schon??)

Der Vollständigkeit halber hier der Code, um den es geht - mit meinem Änderungsvorschlag. Der Code befindet sich jeweils gleichbedeutend in
- class.rex_var_value.inc.php
- class.rex_var_file.inc.php
- class.rex_var_media.inc.php

Hier exemplarissch in class.rex_var_value.inc.php:

Code: Alles auswählen

  function getACRequestValues($REX_ACTION)
  {
    print "run getACRequestValues";
    
    $values = rex_request('VALUE', 'array');
    for ($i = 1; $i < 21; $i++)
    {
      // Nur Werte die urspruenglich gepostet wurden auch uebernehmen
      // siehe http://forum.redaxo.de/ftopic8174.html
      if (isset ($values[$i]))
      {
        $REX_ACTION['VALUE'][$i] = stripslashes($values[$i]);
      }
      // START_ change by Thomas Kuehne
      else
      {
        $REX_ACTION['VALUE'][$i] = '';
      }
      // END: change by Thomas Kuehne
    }
    $REX_ACTION['PHP'] = stripslashes(rex_request('INPUT_PHP', 'string'));
    $REX_ACTION['HTML'] = $this->stripPHP(stripslashes(rex_request('INPUT_HTML', 'string')));

    return $REX_ACTION;
  }
Ich hoffe nun auf Eure Hilfe zur entgültigen Lösung des Problems.
Gruß
Thomas

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

12. Apr 2008, 19:02

Hi Thomas,

diese Änderung kannst du für dich rückgängig machen... Wir werden hier diskutieren müssen, wie wir hier am besten verfahren..

Gruß,
Markus

Benutzeravatar
gseilheimer
Beiträge: 78
Registriert: 3. Jan 2008, 01:31

Problemlösung: über die Variante type="radio"

8. Jun 2008, 17:53

Hallo zusammen,

habe das bei mir über die nachfolgende Möglichkeit umgangen:
<strong>Fliesstext sichtbar? </strong>
<input type="radio" name="VALUE[2]" value="sichtbar" onFocus="this.blur()"
<?php
if ("REX_VALUE[2]" == '') echo 'checked="checked"';
if ("REX_VALUE[2]" == 'sichtbar') echo 'checked="checked"';
?> />
&nbsp; sichtbar<br />

<strong>Fliesstext unsichtbar? </strong>
<input type="radio" name="VALUE[2]" value="unsichtbar" onFocus="this.blur()"
<?php
if ("REX_VALUE[2]" == 'unsichtbar') echo 'checked="checked"';
?> />
&nbsp; unsichtbar<br /><br />
...das funktioniert wenn es nicht nachträglich eingefügt wird,
da hier der jeweilige Standard-Wert fehlen würde...

Siehe hier in meinem Problem: http://forum.redaxo.de/ftopic9366.html?

Viel Erfolg.

Mit freundlichem Gruß
Gilbert

Benutzeravatar
Foaly
Beiträge: 39
Registriert: 7. Feb 2008, 01:04
Kontaktdaten: ICQ

8. Jun 2008, 17:57

Dein Hack kann jedoch nicht funktionieren, wenn man nur eine Checkbox benutzen will. Hier gibt es keine Abfrage für Nichtgesetzt!
Gruß Foaly

One bright morning when my work is done I will fly away home.

Acid
Beiträge: 2
Registriert: 22. Jun 2008, 18:18

Checkboxen in Modulen verwenden

22. Jun 2008, 18:26

Zumindest das Problem, dass man die Auswahl der Checkbox nicht mehr zurücknehmen kann, habe ich bei mir gelöst, indem einfach ein Hidden-Field zusätzlich benutzt wird:

Code: Alles auswählen

...
<input type="hidden" name="VALUE[6]" value=""/>
<input type="checkbox" name="VALUE[6]" value="showlarge" <?php echo $val6checked; ?> />Link zu Originalbild setzen 
Damit wird der Wert gelöscht, wenn die Checkbox nicht gewählt wird. Du kannst natürlich auch einen beliebigen anderen Wert eintragen.


Tim

Marshall
Beiträge: 70
Registriert: 8. Dez 2008, 22:05

8. Dez 2008, 22:19

Hallo, schönen guten Abend.

Ich habe ähnliches Problem mit Checkboxen in der Moduleingabe und würde gern auf die Lösung von ThomasKühne zurückgreifen. Schieße ich mir damit ins Knie - hinsichtlich zukünftiger Updates?

Viele Grüße

Marcel

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

5. Feb 2009, 20:12

Hi zusammen,

die Änderung von damals wurde im Code zurückgesetzt, daher sollte wieder alles funktionieren wie ursprünglich..

Viele Grüße,
Markus

Zurück zu „Sonstiges“