online 1
gast (50)

/ Forum / Webseiten/HTML

Webseiten/HTMLWebseiten/HTML

Fragevon ichhabeinefrage vom 28.02.2020, 18:59 Options

Lösung

Durch Button Variable ändnern

Hi Leute,
ich möchte gerne, wenn man auf einen Button klickt, dass ich eine (POST oder GET) Variable vauf einen bestimmten Wert setzten kann.
Ich habe gehört, dass dies wohl nur mit JavaScript gehen würde.
Es wäre nett, wenn mir jemand einen Beispiel Code zeigen könnte.

Ich habe diesen Thread extra nicht in das JavaScript-Forum geschrieben, da es folgenden Hintergrund gibt:
Ich bin gerade dabei ein Typo3-Plugin zu schreiben.
Das Plugin darf nur auf einer Seite sein, musst aber die Formulare halbwegs dynamisch haben.
Ich habe mir (erstmal) aus Buttons eine Menüleiste gebasteln.
Wenn man nun draufklickt, soll die oben genannte Variable verändert werden, die Seite neu geladen werden und der neu ausgeführte PHP-Code kann anhand der Variable erkennen, wie er die Seite erstellen muss.
Falls es eine bessere Lösung gibt, dann klärt mich doch bitte auf, denn ich bin in Typo3 noch ein völliger Anfänger.

Gruß ichhabeinefrage


Antwort schreiben

Antwort 1 von katy vom 28.02.2020, 19:41 Options

Hallo ichhabeinefrage,

mit JavaScript kannst du keine PHP-Variablen verändern.
Aber du kannst an eine URL GET-Parameter anhängen (das ist einfache Stringverarbeitung) oder HTML-Formularelementen bestimmte Inhalte geben (theoretisch sogar neue schaffen, aber aufgrund eines Internet-Explorer-Bugs wird das sehr aufwändig).
Was genau brauchst du? Ich muss zugeben, dass ich dein posting nicht komplett verstehen konnte.

katy

Antwort 2 von ichhabeinefrage vom 28.02.2020, 22:04 Options

Hallo Katy,
in etwa so sieht das Formular aus:

|Button1|Button2|Button3|

|ListBox|



wenn ich nun auf button2 klicke, soll das Formular ungefähr so aus sehen.


|Button1|Button2|Button3|

|TextBox||Combox|Textbox|



d.h. es sollen neue Elemente hinzukommen und andere entfernt werden.
Da es aber so viele sind kann man die nicht einfach verstecken und beliebig einblenden.

Darum dachte ich mir ich löse das ungefähr so.
Wenn ich auf Button2 klicke, ändert er die GET-Variable "aktuelleSeite" auf 2, und läd dann die Seite neu.

Dadurch, dass die Seite neu geladen wird, wird der PHP -Code noch einmal ausgeführt und im PHP-Code wird dann einfach abgefragt auf welchem Wert "aktuelleSeite" steht.
Dadurch kann ich mit einer einfachen If-Abfrage verschiedene Html -Codes generien.

Ob das so alles klappt weiß ich nicht, dafür suche ich ja ne Lösung.

Werde mich erst morgen wieder melden.

Gute Nacht

PS:Kennst du dich eigtl, mit Typo3 aus?

Antwort 3 von katy vom 29.02.2020, 07:01 OptionsLösung

Lösung
Hallo ichhabeinefrage,

Mit dieser Funktion wird ein entsprechender GET-Parameter gesetzt/geändert und ein Neuladen der Seite veranlasst:

function neuladen() {
 var parameter="aktuelleSeite";
 var wert=2;
 var url=location.href;
 var get=url.split("?");
 if (get.length==1) url+="?"+parameter+"="+wert;
 else {
  var gesetzt=false;
  url=get[0];
  var trenner="?"
  var p=get[1].split("&");
  for (var g=0; g<p.length; g++) {
   var a=p[g].split("=");
   if (a[0]==parameter) {
    a[1]=wert;
    gesetzt=true;
   }
   url+=trenner+a[0]+"="+a[1];
   if (g>0) trenner="&";
  }
  if (!gesetzt) url+=trenner+parameter+"="+wert;
 }
 location.href=url;
}

(ungetestet)

katy

Antwort 4 von ichhabeinefrage vom 05.03.2020, 10:24 Options

Danke Katy,

der Code hat mir wirklich weitergeholfen.
(Wobei ich das meiste davon gar nicht brauchte :D)

Ähnliche Themen

Find Button
Beci  27.03.2007 - 117 Hits - 10 Antworten

Public-Variable von userform an Excel funktioniert nicht?
Marie  09.01.2008 - 40 Hits - 17 Antworten

Zelle über variable Zeilen und Spalten ansprechen
Kloster  15.01.2008 - 47 Hits - 4 Antworten

Variable beim Drücken eines Buttons einen Wert setzen
AndiS  29.02.2008 - 52 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026