Beitrag von Andreas (396 Beiträge) am Dienstag, 10.Februar.2004, 16:24.
Verknüpfen von Eingaben?
Ist es über ein Formular möglich, die Eingaben aus zwei Feldern (<input type="text" name="Eingabe1"><input type="text" name="Eingabe2">) in einem versteckten Feld (Feld3; type="hidden") zu verknüpfen und ebenfalls in der Datenbank zuspeichern?
Beispiel:
Eingabe1 ist z.B. "1234"
Eingabe2 z.B. "xyz"
und Feld3 soll dann "1234xyz" sein
Antworten
Beitrag von Sascha Fitzner (476 Beiträge) am Dienstag, 10.Februar.2004, 16:44. WWW: planet-gaga.de
Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
Hallo Andreas,
ich denke den Weg beschreitest Du am einfachsten mittels Javascript.
Ich habe hier mal was angedeutet, habe es aber nicht getestet von der Syntax her.
Im Head Deiner Seite fügst Du Javascript ein.
In Deiner Form rufst Du dann beim klicken auf den entsprechenden Button die Javascript-Funktion auf. Diese Verknüpft dann in das Hiddenfeld "feldname3" die Inhalte aus "feldname1" und "feldname2".
Gruss
Sascha Fitzner
<html>
<head>
<script language="JavaScript1.1"><!--
function ueberpruefeformular(form)
{
if (document.forms["formname"]["feldname1"].value=="")
{
alert ("Bitte Wert in Feld 1 eingeben.");
return false;
}
if (document.forms["formname"]["feldname2"].value=="")
{
alert ("Bitte Wert in Feld 2 eingeben.");
return false;
}
document.forms["formname"]["feldname3"].value=document.forms["formname"]["feldname1"].value+document.forms["formname"]["feldname2"].value;
return true;
}
// stop hiding --></script>
</head>
<body>
<form method="post" action="http://www.xyz.de/cgi-bin/baseportal.pl?htx=/neueseite" enctype="multipart/form-data" onsubmit="return ueberpruefeformular(this);" target="speichern" name="formname">
<input type="text" name="feldname1" size="15">
<input type="text" name="feldname2" size="15">
<input type="hidden" name="feldname3">
<input type="submit" value="Loslegen" name="Button1">
</form>
</body>
</html>
Antworten
Beitrag von Andreas (396 Beiträge) am Dienstag, 10.Februar.2004, 17:01.
Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
Danke, werde das mal ausprobieren. Wobei dann natürlich Javafähigkeit beim Browser vorausgesetzt werden muß...
Antworten
Beitrag von Andreas (396 Beiträge) am Dienstag, 10.Februar.2004, 17:40.
Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
Antworten
Beitrag von hempelr (1976 Beiträge) am Dienstag, 10.Februar.2004, 20:57.
Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
das geht es geht aber auch so: $Feld3 = "$Feld1$Feld2"; - solche Scalarmanipulationen sind doch gerade die Stärken von Perl.....
Ruben
Antworten
Beitrag von Andreas (396 Beiträge) am Mittwoch, 11.Februar.2004, 07:32.
Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
wie krieg ich das dann aber hin, daß der Inhalt des Feldes (Feld3) auch zusammen mit den normal über das Formular eingegebenen Daten in der Datenbank im gleichen Datensatz abgelegt wird?
Habe vor der Formularausgabe festgelegt:
$Feld3=$Feld1.$Feld2
(oder eben "$Feld1$Feld2")
und dann im Formular als hidden-Eingabe übergeben:
<input type=hidden name="Feldname=" value="$Feld3">
Das entsprechende Feld in der Datenbank (Feldname) bleibt jedoch leer - die im Formular eingegebenen Daten werden aber gespeichert.
Wenn ich jedoch den Inhalt von Feld3 mit put speichere:
put ["Feldname", "$Feld3"], "Datenbankname";
werden zwar die Daten aus Feld3 gespeichert, jedoch nicht im selben Datensatz wie die über das Formular eingegebenen Daten.
Was kann ich machen?
Antworten
Beitrag von hempelr (1976 Beiträge) am Mittwoch, 11.Februar.2004, 07:54.
Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
Antworten
Beitrag von Andreas (396 Beiträge) am Mittwoch, 11.Februar.2004, 09:03.
Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
Formular wurde einfach in Anlehnung an das Beispiel in der Dokumentation erstellt.
Also Daten werden an ein 2. Template gesandt und hier mit
in der Datenbank gespeichert.
Werde deinen Vorschlag ausprobieren (leider erst etwas später).
Bis hierhin trotzdem erstmal DANKE.
Andreas
Antworten
Beitrag von hempelr (1976 Beiträge) am Mittwoch, 11.Februar.2004, 07:56.
Korrektur - Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
Antworten
Beitrag von Andreas (396 Beiträge) am Mittwoch, 11.Februar.2004, 09:33.
Re: Korrektur - Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
Antworten
Beitrag von hempelr (1976 Beiträge) am Samstag, 14.Februar.2004, 15:04.
Re: Korrektur - Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
so - da ich heut meinen Erklär-Tag habe, hier die Erklärung:
if (%_put){ # wenn der Hash %_put definiert ist
%_put ist ein baseportal-Systemhash, der nach Übergabe von Feldern mit der Namenskonvention <input ... name="feldname:=" ..> im Script (oder halt Template) bereitsteht und die Key-Value-Paare Feldname - Feldwert enthält.
Gleichzeitig bedeutet es, wenn der put-hash vorhanden ist, dass eine Datenbankaktion (speichern oder ändern) angesagt ist (das regeln dann die baseportal-internen "befehle" bzw. tags do bzw. do_all sowie der Inhalt des Parameters cmd)
$_put{Feld3} = "$Feld1$Feld2"; # den Wert des Key/Wertpaares mit dem Key feld3 im put-hash mit der Verkettung der übergebenen Feldinhalte aus Feld1 und Feld1 belegen
Alle HTML-Felder, die entweder mittels feldname:= oder feldname= an das Script übergeben werden, stehen auch direkt über den zugehörigen Variablennamen zur Verfügung (das ist übrigens eine der vielen gnialen Sachen in baseportal - mittels "richtiger" CGI-Programmierung müsste man sich da ganz schön einen Wurm abdrehen...)
Wenn mittels feldname:= übergeben wurde, stehts dann im put-Hash, wenns mit feldname= übergeben wurde stehts im get-Hash - man kann dann allerhand Manipulationen an diesen durchführen
So - hoffe dass es dir weiterhilft (ich kenn das - wenn man nicht weiss was etwas zu bedeuten hat - hab auch oft im Forum dazu gelöchert - gebs gerne wieder zurück) - Mal ein Dank an alle (ehemals) aktiven Forumshelfer wie bspw. Sander, FB, Claus S., H. Fehde, Pourage und nicht zu vergessen Christoph.
CU
Ruben
Antworten
Beitrag von Andreas (396 Beiträge) am Samstag, 14.Februar.2004, 20:12.
Re: Korrektur - Re: Verknüpfen von Eingaben? - Mittels Javascript machbar
Danke schön,
langsam lichtet sich der Nebel ;-)
Bis zum nächsten Problemchen.
Andreas
Antworten