phpbar.de logo

Mailinglisten-Archive

[php] PHP und Formular - direktes Zugreifen auf Felder

[php] PHP und Formular - direktes Zugreifen auf Felder

Barbara Hofbauer b.hofbauer at office-only.de
Don Aug 28 17:24:46 CEST 2003


Hallo Liste,

Ich habe folgendes Problem:

Ich möchte ein Formular machen, in dem nach Eingabe des Von-Datums (Buttons,
die bei oncklick Text in das Textfald DatVon schreiben) und der Anzahl der
Übernachtungen (aus einer Listbox) das Bis-Datum (Textfeld) automatisch
gefüllt wird.

Bisher hatte ich es umgedreht gelöst: Es wurde ein Von-Datum und ein
Bis-Datum (über Buttons in Kalender) eingegeben und daraus wurde die Anzahl
Übernachtungen (Listfeld) gefüllt. Das hat auch wunderbar funktioniert. In
etwa (stark vereinfacht) so:

Noch zur Erklärung: In die Textfelder (unsichtbar) DatVon1 und DatBis1
werden die Anzahl Sekunden seit 1.1.70 (oder so?) eingetragen, um damit dann
die Differenz der Tage berechnen zu können.

<?php
  $DatEin=60*60*24;
  echo "<input type='button' name='day' value='".$tagArr[mday]."'";
?>
  onclick="
<?php
  $DatG1 = date("U",
mktime(0,0,0,$tagArr[mon],$tagArr[mday],$tagArr[year]));

Echo("DatBis.value='$tagArr[mday].$tagArr[mon].$tagArr[year]';DatBis1.value=
$DatG1;");
  Echo("AnzahlNacht.value=DatBis1.value/$DatEin-DatVon1.value/$DatEin;");
?>
  ">

Nun sähe mein Code für die neue Form eigentlich so aus:

<?php
  $DatEin=60*60*24;
  echo "<select size='1' name='AnzahlNacht'";
?>
  onchange="
<?php
  $DatG=DatVon1.value;
  $AnzahlNacht=AnzahlNacht.value;
  $DatBis=date("d.m.Y", $DatG + $AnzahlNacht * $DatEin);
  Echo("DatBis.value='$DatBis';");
?>
  ">

Das Problem ist, dass die Variable $DatG nun nicht den Inhalt von
DatVon1.value annimmt, sondern den Wert "DatVon1.value". Wieso kann ich zwar
im oberen Beispiel mit den Values der Felder rechnen aber im unteren nicht?
Ich hatte natürlich auch einen Befehl in folgender Art probiert:

  Echo("DatBis.value='date(\"d.m.Y\", DatVon1.value + AnzahlNacht.value *
$DatEin)';");

Aber hier habe ich natürlich ziemliche Probleme mit den vielen Hochommas und
ganz egal, wie ich es auch mache, es funktioniert einfach nicht. $DatVon1
wird DatVon1.value ja erst nach dem Senden und neuladen des Formular und
genau das will ich ja vermeiden. Bei dem ersten Beispiel mußte ich ja auch
nicht neuladen.

Verzweifelte Grüße
Barbara Hofbauer

--
mailto:info at easy-office4you.de
http://www.easy-office4you.de/
http://www.ammersee-region.de


php::bar PHP Wiki   -   Listenarchive