Dynamisches Formular mit PHP und JavaScript


DetlevK

Grünschnabel
Ich möchte für meinen Webshop ein dynamisches Formular zur Erfassung von Kundendaten erstellen. Zuerst werden die Daten zur Rechnungsanschrift erfasst.
Dann folgt eine Checkbox ob die Rechnungsanschrift gleich der Lieferanschrift ist.
Falls ja (checked) ist die Adresserfassung soweit fertig. Falls nein (nicht checked) weden die Felder zur Lieferadresse eingeblendet.

Als ersten Ansatz habe ich versucht:
...
Javascript:
<script type="text/javascript">
function check()
{
  var lief = window.document.Bestellung.adr.value;
  document.location = "Maske_DE.php?adr=" + lief;
}
...
PHP:
<form ... name="Bestellung"...>
...
<input name="adr" type="checkbox" onClick="check()" <?php echo($_GET['adr']=="on")?"checked":""?>
<?php
if ($_GET['adr'] != "on")
{
  ...
   //Ausgabe der Felder zur Lieferadresse
}
Das funktioniert nicht, da OnClick anscheinend nur den Klick registriert, nicht aber den Status der Checkbox (checked/unchecked) verändert.

Irgendwo im Ansatz ist wohl ein Logikfehler, den ich nicht finde, weil ich mir sowohl PHP als auch neuerdings JavaScript rein durch Bücher und entsprechende Webtutorials beigebracht habe (also komplett ohne Lehrer).

Ich vermute den Fehler irgendwo im Kontextwechsel zwischen HTML, JavaScript und PHP. Hat vielleicht jemand einen Tipp oder einen Ansatz?
 
Zuletzt bearbeitet:

EuroCent

Erfahrenes Mitglied
naja du klickst ja auch nicht direkt auf das Element, sondern selektierst es ja nur.

Du musst mit dem checked attribute arbeiten also ob true oder false.

Warum arbeitest Du mit window? wenn Du document eh verwendest? :)
Nutze am besten zu dem document.getElementById/Name oder document.querySelector() etc... :)

Beispiel:

Hoffe es hilft dir als Beispiel :)
 

DetlevK

Grünschnabel
naja du klickst ja auch nicht direkt auf das Element, sondern selektierst es ja nur.

Du musst mit dem checked attribute arbeiten also ob true oder false.

Warum arbeitest Du mit window? wenn Du document eh verwendest? :)
Nutze am besten zu dem document.getElementById/Name oder document.querySelector() etc... :)

Beispiel:

Hoffe es hilft dir als Beispiel :)
Danke, funktioniert soweit!
Jetzt kämpfe ich noch damit, mehrere Felder ein- und auszublenden.
 

EuroCent

Erfahrenes Mitglied
Danke, funktioniert soweit!
Jetzt kämpfe ich noch damit, mehrere Felder ein- und auszublenden.
Da gibt es 2 Möglichkeiten!
Möglichkeit 1: CSS
Möglichkeit 2: Javascript

Mittels Javascript ist es dynamischer.
Bei CSS musst du die Elemente immer mit Pflegen.

Zum Beispiel so:
Hier werden beide Möglichkeiten aufgezeigt. :)
 

Neue Beiträge