Zum Inhalt springen

Formular verliert id-Parameter

Erstellt am 5. Dezember 2006 · 2 Antworten · letzte Antwort am 3. März 2008

Tags: Frage

typowasser ·

Hi,

ich versuche mich gerade an einem Style-Switcher, per post funktioniert das ganze schonmal, aber wenn ich das formular auf get setze , verliere ich die Seiten id.

Hier mal mein Formular mit TS

temp.formstyleselect = FORM
temp.formstyleselect {
dataArray {
    20.label = Select Your Style
    20.type = style=select
    20.valueArray {
      10.label = Red
      10.value = 0
      20.label = Green
      20.value = 1
      20.selected = GP:style || 0
    }
    40.type = my_submit=submit
    40.value = Abschicken
  }
  method = get
layout = ###LABEL###: ###FIELD###
params.select=onchange="this.form.submit()"
}

Das generierte Form dann so:

<form action="index.php?id=95&style=0" id="ae73b2bf386eb50d8f220157c93d79d18" name="ae73b2bf386eb50d8f220157c93d79d18" enctype="multipart/form-data" method="get"><div style="display:none;"></div>Select Your Style: <select name="style" size="1" onchange="this.form.submit()"><option value="0" selected="selected">Red</option><option value="1">Green</option></select>: <input type="submit" name="my_submit" value="Abschicken" /></form>

Soweit sieht das ja schon ganz gut aus,
aber die Url nach dem Abschicken lautet

http://localhost/typo/testpage/index.php?style=0

:/ ohne id

Habt ihr eine Idee wie ich das lösen kann?
Ich möchte halt nach Möglichkeit alle Url-Parameter der aktuellen Seite mitnehmen.
Später will ich das ganze evtl. noch in ein Cookie speichern.

Habt ihr evtl irgendwo ein Tutorial für einen Styleswitcher?Möglichst Cache freundlich 🙂

Danke.

AceTheFace ·

Das müsste sich doch einfach durch ein hidden-Formularfeld lösen lassen:

<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />

EDIT1: Wobei mir gerade auffällt, dass du dazu ja bereits über ein Formular auf diese Seite kommen musst, damit das mit $_GET funktioniert....hm...ich denk mal wieder drüber nach, sry...

EDIT2: Ach herrje, und die Form wird ja auch noch durch TS generiert....na dann bin ich endgültig raus....*im Boden versink*

Gruß,
Ace

Unbekannter Benutzer ·

Ja richtig, alle Parameter inkl. ID werden überschrieben, wenn für ein cObject 'FORM' die Methode GET benutzt wird. Deshalb die gewünschten Parameter einfach von Hand wieder einbringen:

method = GET
dataArray {
  10.label.value =
  10.type = name=input
  20.type = id=hidden
  20.value.data = TSFE:id
  30.type = L=hidden
  30.value.data = GPvar:L
  100.type = submit=submit
  100.value.lang.de = senden
}