Greetinx,
die Aufgabe ist 4 Formularfelder zu addieren.
Nachdem ich jetzt alles abgesucht habe - ohne Erfolg - versuch ichs hier mal !
Gibts da eine einfache Methode ?
GRuZZ *
Übersicht
- HTML Schrott - kennt sich da jemand aus ? - gestartet von LoneStar 26. September 2006 um 15:42h
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
Tom(2)
am 27. September 2006 um 00:05
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
LoneStar
am 27. September 2006 um 09:10
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
Tom(2)
am 27. September 2006 um 10:04
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
LoneStar
am 28. September 2006 um 14:34
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
Tom(2)
am 29. September 2006 um 10:32
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
LoneStar
am 29. September 2006 um 12:05
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
Tom(2)
am 29. September 2006 um 12:51
- Re: HTML Schrott - kennt sich da jemand aus ? - von LoneStar am 29. September 2006 um 16:42
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
Tom(2)
am 29. September 2006 um 12:51
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
LoneStar
am 29. September 2006 um 12:05
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
Tom(2)
am 28. September 2006 um 21:17
- Re: HTML Schrott - kennt sich da jemand aus ? - von LoneStar am 29. September 2006 um 09:04
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
Tom(2)
am 29. September 2006 um 10:32
- Re: HTML Schrott - kennt sich da jemand aus ? - von LoneStar am 27. September 2006 um 12:59
- Re: HTML Schrott - kennt sich da jemand aus ? - von LoneStar am 27. September 2006 um 10:24
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
LoneStar
am 28. September 2006 um 14:34
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
Tom(2)
am 27. September 2006 um 10:04
- Re: HTML Schrott - kennt sich da jemand aus ? - von LoneStar am 27. September 2006 um 08:40
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
LoneStar
am 27. September 2006 um 09:10
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
ullli
am 26. September 2006 um 20:48
- Re: HTML Schrott - kennt sich da jemand aus ? - von LoneStar am 27. September 2006 um 08:38
- Re: HTML Schrott - kennt sich da jemand aus ?
- von
Tom(2)
am 27. September 2006 um 00:05
erm... wo macht denn wer das processing? Wenn es "live" sein soll, dann mit ein bissken JavaScript, z.B so:click oder wenn es daheim auf dem Server sein darf, dann halt php oder asp, je nachdem was Du darfst / womit Du geschlagen bist!
gut Ton!
ullli
gut Ton!
ullli
Joh.
Was soll gehen?
Serverseitig: PHP, JSP, ASP, whatever
Clientseitig: Javascript
?
angenommen
du hast ein
abschnitt auf deiner website.
(die "spitzen" html-klammern schreibe ich hier mal mit "eckigen" klammern, damit der forums-code nicht durcheinander kommt).
in diesem stehen die formularfelder, wahrscheinlich in der form:
irgendwo steht dann noch ein Submit-Button in der Form
so.
du willst, dass nach dem absenden des formulars die formularfelder addiert werden. wo soll das ergebnis angezeigt werden?
Am einfachsten wäre es, dazu innerhalb des formulars ein weiteres eingabe-feld zu haben, welches den errechneten wert bekommt:
(das muss innerhlab der oben genannten "form" tags stehen).
jetzt brauchst du noch etwas script, was dafür sorgt, dass deine berechnung gemacht wird und dann im ergebnisfeld angezeigt wird:
das schreibst du innerhalb von "script" tags damit der browser auch weiss, dass du ihm jetzt javascript andienst:
das packst du am besten in den "head" breich deines html-codes, auf jeden fall aber vor den abschnitt mit den "form" tags.
nun musst du nur noch die funktion mit dem submit deines formulars verbinden:
und schon sollte es klappen.
ich habe das jetzt nicht getestet, sondern einfach so hingeschrieben, aber so sollte es gehen. die funktion kann man sicherlich noch eleganter machen, aber irgendwas ist ja immer. :-)
gruss
Tom
Was soll gehen?
Serverseitig: PHP, JSP, ASP, whatever
Clientseitig: Javascript
?
angenommen
du hast ein
[form name="formName"].....[form]
abschnitt auf deiner website.
(die "spitzen" html-klammern schreibe ich hier mal mit "eckigen" klammern, damit der forums-code nicht durcheinander kommt).
in diesem stehen die formularfelder, wahrscheinlich in der form:
[input type="text" ... value="abc" name="wert1"]
[input type="text" ... value="abc" name="wert2"]
[input type="text" ... value="abc" name="wert3"]
irgendwo steht dann noch ein Submit-Button in der Form
[input type="submit" name="tollerSubmitName" value="absenden"]
so.
du willst, dass nach dem absenden des formulars die formularfelder addiert werden. wo soll das ergebnis angezeigt werden?
Am einfachsten wäre es, dazu innerhalb des formulars ein weiteres eingabe-feld zu haben, welches den errechneten wert bekommt:
[input type="text" value="" name="ergebnisFeld"]
(das muss innerhlab der oben genannten "form" tags stehen).
jetzt brauchst du noch etwas script, was dafür sorgt, dass deine berechnung gemacht wird und dann im ergebnisfeld angezeigt wird:
function berechnen(){
var ele = document.forms['formName'].elements;
ele.ergebnisFeld.value = eval(ele.wert1.value+ele.wert2.value+ele.wert3.value);
}
das schreibst du innerhalb von "script" tags damit der browser auch weiss, dass du ihm jetzt javascript andienst:
[script type="text/javascript"]
(hier der code mit der funktion)
[/script]
das packst du am besten in den "head" breich deines html-codes, auf jeden fall aber vor den abschnitt mit den "form" tags.
nun musst du nur noch die funktion mit dem submit deines formulars verbinden:
[form name="formName" ... onSubmit=" berechnen();"]
und schon sollte es klappen.
ich habe das jetzt nicht getestet, sondern einfach so hingeschrieben, aber so sollte es gehen. die funktion kann man sicherlich noch eleganter machen, aber irgendwas ist ja immer. :-)
gruss
Tom
Moin Ullli,
thanx - das war es was ich wollte !!
Ein Formular, daß während ich eingebe addiert - nicht erst auf dem Server.
1000 GrüZZE *
thanx - das war es was ich wollte !!
Ein Formular, daß während ich eingebe addiert - nicht erst auf dem Server.
1000 GrüZZE *
Hallo Tom,
auch Dir 1000 Dank - sehr ausführlich - da hast Du Dir viel Arbeit gemacht.
Das kann ich auch sehr gut gebrauchen - auch wenn ich im Moment eher das brauche was Ullli geliefert hat.
GRuZZ *
auch Dir 1000 Dank - sehr ausführlich - da hast Du Dir viel Arbeit gemacht.
Das kann ich auch sehr gut gebrauchen - auch wenn ich im Moment eher das brauche was Ullli geliefert hat.
GRuZZ *
nochwas vergesen...
Kennst Du eine "einfache" Möglichkeit aus einer HTML Seite über den Link zu einem Formular Parameter zu übergeben und diese dann im Formular zu verwenden ?
Bsp: ein Bestellformular mit jeweils anderen Artikel-Daten aufzurufen - als Parameter.
Ohne Datenbank.
Bisher habe ich für jeden Artikel eine eigene Formularseite - bei 100 Artikeln dann also 100 Formularseiten.
GRuZZ *
Kennst Du eine "einfache" Möglichkeit aus einer HTML Seite über den Link zu einem Formular Parameter zu übergeben und diese dann im Formular zu verwenden ?
Bsp: ein Bestellformular mit jeweils anderen Artikel-Daten aufzurufen - als Parameter.
Ohne Datenbank.
Bisher habe ich für jeden Artikel eine eigene Formularseite - bei 100 Artikeln dann also 100 Formularseiten.
GRuZZ *
hi,
du kannst die artikel-daten natürlich per get-parameter in der url mit übergeben - allerdings ist das a) anfällig gegenüber manipulationen und b) ist auch die zeichenlänge beschränkt, die übergeben werden kann.
also zb
besser wäre, nur eine ID mit zu übergeben, und deine formular-seite enthält alle infos, die du brauchst und nimmt anhande dieser ID die richtige info.
das formular muss dann allerhand javascript-voodoo machen, um die info auszuwählen und den formular-feldern zuzuordnen.
wahrscheinlich brauchst du erstmal ein array, in dem die daten jeden artikels drinstehen, zb
bei dir wären das dann eben 100 array-einträge.
anhand der ID in der url kann das script dann nur die infos des eintrags auslesen, den Du haben willst
da wo du die daten anzeigen willst, kannst Du nun mit der Variablen showID auf den Inhalt des arrays zugreifen:
Das kannst Du dann mit
ausgeben.
gruss
Tom
du kannst die artikel-daten natürlich per get-parameter in der url mit übergeben - allerdings ist das a) anfällig gegenüber manipulationen und b) ist auch die zeichenlänge beschränkt, die übergeben werden kann.
also zb
linkzumformular.html?artikel=schuh&farbe=rot&preis=2
besser wäre, nur eine ID mit zu übergeben, und deine formular-seite enthält alle infos, die du brauchst und nimmt anhande dieser ID die richtige info.
linkzumformular.html?ID=2
das formular muss dann allerhand javascript-voodoo machen, um die info auszuwählen und den formular-feldern zuzuordnen.
wahrscheinlich brauchst du erstmal ein array, in dem die daten jeden artikels drinstehen, zb
artikelData = array(
0 = array('schuh','rot','2 EUR'),
1 = array('hose','grün','5 EUR'),
2 = array('jacke','grau','1 EUR')
);
bei dir wären das dann eben 100 array-einträge.
anhand der ID in der url kann das script dann nur die infos des eintrags auslesen, den Du haben willst
var artikelID = document.location.search; // da steht jetzt ?ID=2 drin
artikelID = artikelID.substring(1, artikelID.length); // jetzt ID=2
artikelID = artikelID.split('='); // array mit 'ID' und '2'
var showID = artikelID[1]; // '2'
...
da wo du die daten anzeigen willst, kannst Du nun mit der Variablen showID auf den Inhalt des arrays zugreifen:
var Artikel-Art = artikelData[showID][0]; // wäre hier: 'jacke'
var Artikel-Farbe = artikelData[showID][1]; // wäre hier: 'grau'
var Artikel-Preis = artikelData[showID][2]; // wäre hier: '1 EUR'
Das kannst Du dann mit
document.write(Artikel-Art);
ausgeben.
gruss
Tom
Hi Tom,
Prima - sehr gut - das ist was ich brauche !
1000 Dank - ich werde das im Laufe der Woche versuchen einzubauen.
GRuZZ *
Prima - sehr gut - das ist was ich brauche !
1000 Dank - ich werde das im Laufe der Woche versuchen einzubauen.
GRuZZ *
Hallo Gomez aka Tom(2),
hier ist das PHP:
$recipient = "email@adresse.de";
$fmtResponse= implode("", file("response.htt"));
$fmtMail= implode("", file("Bestellmail.htt"));
foreach($_POST as $key=> $val) {
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
if ($_POST["access"] == "irregeheim") {
mail($recipient, $_POST["subject"], $fmtMail);
}
echo $fmtResponse;
?>
Ausserdem ist da noch die letzte Frage:
dieses Bestellmail.htt und response.htt musste ich mit dem WORDPAD erstellen. Da kann ich nix formatieren - oder einen Kasten drum machen.
Was für ein Format sollte denn so eine Datei haben (unicode...) damit ich das bißchen gestalten kann.
GRuZZ *
hier ist das PHP:
$recipient = "email@adresse.de";
$fmtResponse= implode("", file("response.htt"));
$fmtMail= implode("", file("Bestellmail.htt"));
foreach($_POST as $key=> $val) {
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
if ($_POST["access"] == "irregeheim") {
mail($recipient, $_POST["subject"], $fmtMail);
}
echo $fmtResponse;
?>
Ausserdem ist da noch die letzte Frage:
dieses Bestellmail.htt und response.htt musste ich mit dem WORDPAD erstellen. Da kann ich nix formatieren - oder einen Kasten drum machen.
Was für ein Format sollte denn so eine Datei haben (unicode...) damit ich das bißchen gestalten kann.
GRuZZ *
Hallo Tom,
alles funktioniert soweit ...
Bis auf 3 Kleinigkeiten:
Wenn ich jetzt dem BestellformularLink - unser Bespiel-aufruf mit ID=2 - mehrere Parameter übergeben muss - dann rufe ich den auf mit
zB Link.html?ID=2&Param2&Param3 ...
Soweit klar - diese Param1 2 ... sind aber FormularEingaben über Select (ich wähle da zB Farbe aus) - also wie kriege ich die Select eingaben als Parameter in den Link.
Und dann hast Du ja geschreiben wie ich ID=2 im Bestellformular auswerte ... = document.lacation.search ...
wie bekomme ich da die anderen Parameter raus ?
Zu guter letzt:
mein PHP Programm filtert ja nur die name="irgendwas" aus dem Formular für den Einsatz in die E-Mail.
Wie finde ich die übergebenen Variablen - also in unserem Bsp. Artikel-Art, Artikel-Farbe usw.
Ich hoffe Du hast noch Lust ...
Es geht ja auch schon viel bis jetzt - und ich bin 3m vor dem Ziel !
GRuZZ *
alles funktioniert soweit ...
Bis auf 3 Kleinigkeiten:
Wenn ich jetzt dem BestellformularLink - unser Bespiel-aufruf mit ID=2 - mehrere Parameter übergeben muss - dann rufe ich den auf mit
zB Link.html?ID=2&Param2&Param3 ...
Soweit klar - diese Param1 2 ... sind aber FormularEingaben über Select (ich wähle da zB Farbe aus) - also wie kriege ich die Select eingaben als Parameter in den Link.
Und dann hast Du ja geschreiben wie ich ID=2 im Bestellformular auswerte ... = document.lacation.search ...
wie bekomme ich da die anderen Parameter raus ?
Zu guter letzt:
mein PHP Programm filtert ja nur die name="irgendwas" aus dem Formular für den Einsatz in die E-Mail.
Wie finde ich die übergebenen Variablen - also in unserem Bsp. Artikel-Art, Artikel-Farbe usw.
Ich hoffe Du hast noch Lust ...
Es geht ja auch schon viel bis jetzt - und ich bin 3m vor dem Ziel !
GRuZZ *
hiho,
: zB Link.html?ID=2&Param2&Param3 ...
:
: Soweit klar - diese Param1 2 ... sind aber FormularEingaben über Select (ich wähle da zB Farbe aus) - also wie kriege ich die Select eingaben als Parameter in den Link.
:
: Und dann hast Du ja geschreiben wie ich ID=2 im Bestellformular auswerte ... = document.lacation.search ...
:
: wie bekomme ich da die anderen Parameter raus ?
also... in der document.location.search steht alles drin, was in der url nach dem fragezeichen kommt...
also, erstmal das fragezeichen weg:
jetzt den verbleibenden rest anhand des "&" splitten, um die einzelnen parameter zu bekommen:
jetzt ist 'infos' ein array mit den ganzen parametern:
jetzt kannst du die einzelnen dinger wiederum splitten anhand des "=", um an die bezeichnung und den wert zu kommen:
jetzt sollte
wie immer, nicht getestet :-)
gruss
Tom
: zB Link.html?ID=2&Param2&Param3 ...
:
: Soweit klar - diese Param1 2 ... sind aber FormularEingaben über Select (ich wähle da zB Farbe aus) - also wie kriege ich die Select eingaben als Parameter in den Link.
:
: Und dann hast Du ja geschreiben wie ich ID=2 im Bestellformular auswerte ... = document.lacation.search ...
:
: wie bekomme ich da die anderen Parameter raus ?
also... in der document.location.search steht alles drin, was in der url nach dem fragezeichen kommt...
info = ?ID=2¶m1=ddd¶m2=rrr¶m3=fff
also, erstmal das fragezeichen weg:
info = info.substring(1, artikelID.length);
jetzt den verbleibenden rest anhand des "&" splitten, um die einzelnen parameter zu bekommen:
infos = info.split('&');
jetzt ist 'infos' ein array mit den ganzen parametern:
info[0] = 'ID=2';
info[1] = 'param1=ddd';
info[2] = 'param2=rrr';
info[3] = 'param3=fff';
jetzt kannst du die einzelnen dinger wiederum splitten anhand des "=", um an die bezeichnung und den wert zu kommen:
for(i=0;i[*]info.length;i++){ // [*]das sollte eine "kleiner als" klammer sein, aber das html hier zickt
temp[i] = info[i].split('=');
}
jetzt sollte
temp[0][0] = 'ID'und
temp[0][1] = '2'enthalten,
temp[1][0] = 'param1und
temp[1][1] = 'ddd', usw...
wie immer, nicht getestet :-)
gruss
Tom
Moin Tom,
auch wieder 1000 dank - ich komme mit dem "ungetesteten" schon klar.
Das dauert zwar meist Stunden - aber dann hab ichs.
So langsam wachse ich auch besser rein.
Am längsten habe ich gebraucht um zu finden, daß array mit "A" -> Array geschrieben wird.
Schon merkwürdig dieses Javascript...
GRuZZ *
auch wieder 1000 dank - ich komme mit dem "ungetesteten" schon klar.
Das dauert zwar meist Stunden - aber dann hab ichs.
So langsam wachse ich auch besser rein.
Am längsten habe ich gebraucht um zu finden, daß array mit "A" -> Array geschrieben wird.
Schon merkwürdig dieses Javascript...
GRuZZ *
: Soweit klar - diese Param1 2 ... sind aber FormularEingaben über Select (ich wähle da zB Farbe aus) - also wie kriege ich die Select eingaben als Parameter in den Link
hi,
wenn Du dein Formular per
- eingabefeld heisst "material" und der User schreibt "cord" rein
- select heisst "farbe" und eine der options ist "rot"
- hidden input heisst "ID" und der Wet ist "2"
dann sollte die URL nach senden des submitbuttons so aussehen
gruss
Tom
hi,
wenn Du dein Formular per
method="get"verschickst, sollten automatisch alle Deine Felder/Werte Dinger in der URL stehen.
- eingabefeld heisst "material" und der User schreibt "cord" rein
- select heisst "farbe" und eine der options ist "rot"
- hidden input heisst "ID" und der Wet ist "2"
dann sollte die URL nach senden des submitbuttons so aussehen
irgendwas.html?material=cord&farbe=rot&ID=2
gruss
Tom
Hallo Tom,
alles klar - das habe inzw. auch so schon gemacht...
Ich richtig happy !
Jetzt habe ich alles zusammen - bis auf das auslesen dieser Parameter dann im PHP Programm.
Also ich habe jetzt die Parameter als Variable ja im Bestellformular - das originale PHP Programm sucht ja nur die Feldnamen.
Wie greife ich da auf die variablen zu ?
GRuZZ *
alles klar - das habe inzw. auch so schon gemacht...
Ich richtig happy !
Jetzt habe ich alles zusammen - bis auf das auslesen dieser Parameter dann im PHP Programm.
Also ich habe jetzt die Parameter als Variable ja im Bestellformular - das originale PHP Programm sucht ja nur die Feldnamen.
Wie greife ich da auf die variablen zu ?
GRuZZ *
öhm...
wieso hast du da nur die feldnamen?
schreib da mal ein debug ding mit ins script, um zu sehen, was da eigentlich übergeben wird
(eckige durch spitze klammern ersetzen).
gruss
Tom
wieso hast du da nur die feldnamen?
[?php
$recipient = "derannern@irgendwo.de";
$fmtResponse= implode("", file("response.htt"));
$fmtMail= implode("", file("Bestellmail.htt"));
foreach($_POST as $key=> $val) {
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
if ($_POST["access"] == "irregeheim") {
mail($recipient, $_POST["subject"], $fmtMail);
}
echo $fmtResponse;
?]
schreib da mal ein debug ding mit ins script, um zu sehen, was da eigentlich übergeben wird
[?php
$recipient = "derannern@irgendwo.de";
$fmtResponse= implode("", file("response.htt"));
$fmtMail= implode("", file("Bestellmail.htt"));
// debug:
echo '[pre]';
print_r($_POST);
echo '[/pre]';
// :debug
foreach($_POST as $key=> $val) {
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
if ($_POST["access"] == "irregeheim") {
mail($recipient, $_POST["subject"], $fmtMail);
}
echo $fmtResponse;
?]
(eckige durch spitze klammern ersetzen).
gruss
Tom
Hallo Tom,
folgendes kommt:
{pre}Array ( [subject] => xxx Bestellformular [access] => irregeheim [Menge] => 1 [Gesamtbestellwert] => [Kundennr] => [01-Anrede] => Herr [Name] => [Vorname] => [Strasse] => [Hausnr] => [PLZ] => [Ort] => [Land] => [Telefon] => [Fax] => [Email] => [Nachricht] => Test [Senden] => Absenden ) {/pre} Folgende Bestellung wurde an xxx gesendet: Kunden Daten: Kundenr. Name Vorname Strasse Nr. PLZ Ort Land Tel. FAX Email Nachricht Bestellung Bikes: Menge Bike Farbe Groesse Preis Summe
GRuZZ *
folgendes kommt:
{pre}Array ( [subject] => xxx Bestellformular [access] => irregeheim [Menge] => 1 [Gesamtbestellwert] => [Kundennr] => [01-Anrede] => Herr [Name] => [Vorname] => [Strasse] => [Hausnr] => [PLZ] => [Ort] => [Land] => [Telefon] => [Fax] => [Email] => [Nachricht] => Test [Senden] => Absenden ) {/pre} Folgende Bestellung wurde an xxx gesendet: Kunden Daten: Kundenr. Name Vorname Strasse Nr. PLZ Ort Land Tel. FAX Email Nachricht Bestellung Bikes: Menge Bike Farbe Groesse Preis Summe
GRuZZ *