Formulardaten versenden
Fritz Schwendemann
- javascript
0 Felix Riesterer0 Robert Bienert0 walker0 frankx
Hallo zusammen
Habe ein Formular erstellt, dessen Daten am Schluss geprüft werden. Wenn das Formular vollständig ausgefüllt wurde, gelangt der User aber nicht zur Bestätigungsseite und Daten werden auch nicht verschickt, sondern der User erhält wieder das leere Formular.
Der Formularaufruf sieht wie folgt aus:
<form method="POST" action="--WEBBOT-SELF--"
onsubmit="return validatePromotionForm();" name="promotionForm">
Wenn ich keine Formulardaten-Validierung aufrufe, klappt alles wunderbar. Also hängt es mit dem onsubmit-Befehl zusammen.
Sollte ich die Daten besser über cgi-bin versenden? Vielen Dank für Eure Hilfe!
Gruss, Fritz
Lieber Fritz,
onsubmit="return validatePromotionForm();"
was passiert, wenn Du das return weglässt?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Moin!
»» Habe ein Formular erstellt, dessen Daten am Schluss geprüft werden. Wenn das Formular vollständig ausgefüllt wurde, gelangt der User aber nicht zur Bestätigungsseite und Daten werden auch nicht verschickt, sondern der User erhält wieder das leere Formular.
»»
»» Der Formularaufruf sieht wie folgt aus:
»» <form method="POST" action="--WEBBOT-SELF--"
»» onsubmit="return validatePromotionForm();" name="promotionForm">
Zwei Dinge:
(1) Gibt es die URL "--WEBBOT-SELF--" tatsächlich oder wird da was von einem CMS bzw. HTML-Editor eingefügt?
(2) Lass nach return validatePromotionForm()
mal das Semikolon weg.
»» Wenn ich keine Formulardaten-Validierung aufrufe, klappt alles wunderbar. Also hängt es mit dem onsubmit-Befehl zusammen.
Was heißt „klappt alles wunderbar“. Das Formular wird abgesendet oder der Benutzer wird darauf hingewiesen, dass einige Felder nicht ausgefüllt sind?
»» Sollte ich die Daten besser über cgi-bin versenden?
Ähm, diese Frage verstehe ich jetzt richtig: cgi-bin ist normalerweise ein Verzeichnis auf dem Webserver in dem CGI-Scripte bzw. -programme abgelegt sind. In Formularen _kann_ ein solches CGI-Programm als Empfänger (mit dem action-Attribut) angegeben werden, dass dann die Formulardaten verarbeitet; das können aber auch CGI-Scripte sein, denen man es auf den ersten Blick gar nicht ansieht, z.B. PHP oder ASP. Wer nimmt denn bisher deine Daten entgegen, eine HTML-Seite?
Viele Grüße,
Robert
Hallo und Danke schon mal für Eure Hilfe, komme aber trotzdem nicht weiter. Wenn ich das Semikolon weglasse, hat es keinen Einfluss. Wenn ich das Wort return weglasse, lädt er nach einer Gültigkeitsprüfung sofort wieder das leere Formular.
Auf Deine Frage, Robert, bezüglich "--WEBBOT-SELF--" kann ich sagen, dass es von FrontPage eingefügt wird. Es ist wirklich zum Verzweifeln.
Mit "klappt alles wunderbar" meine ich, dass Bestätigungsseite und Datenübermittlung o h n e Formularbehandlungsroutine funktionieren. Sobald ich aber in diese Routine verzweige, geht es dann nicht mehr weiter.
Habe schon mal am Ende der Routine vor dem Befehl return true; noch einen Redirect-Befehl eingefügt, hat aber auch nichts genützt.
Andere FrontPage-Opfer hatten schon das gleiche Problem, wie ich in verschiedenen Beiträgen gelesen habe. Habe eine Lösung dazu habe ich nirgends gefunden.
Wäre schön, wenn mir jemand weiterhelfen könnte. Vielen Dank!
Gruss, Fritz
Moin!
Habe ein Formular erstellt, dessen Daten am Schluss geprüft werden. Wenn das Formular vollständig ausgefüllt wurde, gelangt der User aber nicht zur Bestätigungsseite und Daten werden auch nicht verschickt, sondern der User erhält wieder das leere Formular.
»»
Der Formularaufruf sieht wie folgt aus:
<form method="POST" action="--WEBBOT-SELF--"
onsubmit="return validatePromotionForm();" name="promotionForm">Zwei Dinge:
(1) Gibt es die URL "--WEBBOT-SELF--" tatsächlich oder wird da was von einem CMS bzw. HTML-Editor eingefügt?
(2) Lass nachreturn validatePromotionForm()
mal das Semikolon weg.Wenn ich keine Formulardaten-Validierung aufrufe, klappt alles wunderbar. Also hängt es mit dem onsubmit-Befehl zusammen.
Was heißt „klappt alles wunderbar“. Das Formular wird abgesendet oder der Benutzer wird darauf hingewiesen, dass einige Felder nicht ausgefüllt sind?
Sollte ich die Daten besser über cgi-bin versenden?
Ähm, diese Frage verstehe ich jetzt richtig: cgi-bin ist normalerweise ein Verzeichnis auf dem Webserver in dem CGI-Scripte bzw. -programme abgelegt sind. In Formularen _kann_ ein solches CGI-Programm als Empfänger (mit dem action-Attribut) angegeben werden, dass dann die Formulardaten verarbeitet; das können aber auch CGI-Scripte sein, denen man es auf den ersten Blick gar nicht ansieht, z.B. PHP oder ASP. Wer nimmt denn bisher deine Daten entgegen, eine HTML-Seite?
Viele Grüße,
Robert
Hallo Fritz,
eben, da es ohne Routine ja läuft, gibt diese vermutlich false zurück...; deshalb gib deren ergebnis doch mal mit einem alert zurück...;
Gruß, Frankx
Hallo Fritz,
eben, da es ohne Routine ja läuft, gibt diese vermutlich false zurück...; deshalb gib deren ergebnis doch mal mit einem alert zurück...;
Gruß, Frankx
Hallo allerseits
Komme überhaupt nicht weiter. Die Routine gibt am Schluss true zurück, nachdem alle Felder richtig und vollständig ausgefüllt wurden.
Wahrscheinlich liegt es an FrontPage selber.
Vielen Dank für Eure Hilfe.
Gruss, Fritz
Hallo Fritz,
wie soll es denn an FP liegen? Das erstellt doch nur den Code, die Checkroutine auch? Woher weißt Du, dass sie true returned?
Gruß, Frankx
Hallo Fritz,
wie soll es denn an FP liegen? Das erstellt doch nur den Code, die Checkroutine auch? Woher weißt Du, dass sie true returned?
Gruß, Frankx
Hallo Frank
Habe den Routinenaufruf wie folgt geändert:
return alert(validatePromotionForm()). Bei jedem User-Fehler kommt false zurück, wenn das Formular vollständig ausgefüllt ist, kommt true.
Ich zweifle an FP, weil andere mit dem gleichen Problem ebenfalls erwähnt haben, dass sie FP benutzen. Aber das ist nur eine Vermutung.
Gruss und danke
Fritz
Hallo Fritz,
aber FP generiert doch nur den Code, laufen tuts doch nachher mit dem Browser bzw. auf dem Server; was hat das dann mit FP zu tun?
Gruß, Frankx
Hallo Fritz nochmal,
zum Verständnis...; onsubmit ermöglicht, dass ein Javascript aufgerufen werden kann, und dass das Formular nur dann versandt wird, wenn diese true zurückgibt.
Also entweder wirds versandt, oder geblockt.
Wenns geblockt wird, passiert garnix, bzw. kommen die Fehlermeldung, die das Script ausspuckt.
Wenns versandt wird, dann gehts an den Server (die Adresse, die in action eingegeben wurde), und wird dort entsprechend dem aufgerufenen Serverscript verarbeitet. Vielliecht ist mit dem Serverscript oder der Adresse in action was faul...;
Alles hat mit FP nichts zu tun.
Gruß, Frankx
Hallo Fritz nochmal,
zum Verständnis...; onsubmit ermöglicht, dass ein Javascript aufgerufen werden kann, und dass das Formular nur dann versandt wird, wenn diese true zurückgibt.
Also entweder wirds versandt, oder geblockt.
Wenns geblockt wird, passiert garnix, bzw. kommen die Fehlermeldung, die das Script ausspuckt.
Wenns versandt wird, dann gehts an den Server (die Adresse, die in action eingegeben wurde), und wird dort entsprechend dem aufgerufenen Serverscript verarbeitet. Vielliecht ist mit dem Serverscript oder der Adresse in action was faul...;
Alles hat mit FP nichts zu tun.
Gruß, Frankx
Hallo Frank
Ich schätze Deine Hilfe sehr und danke Dir. Wenn ich die Formularseite aufrufe, erhalte ich u.a. folgenden Quellcode:
<form method="POST" action="aktion_aushubkuebel.asp"
onsubmit="return validatePromotionForm();" name="promotionForm" webbot-action="--WEBBOT-SELF--">
<input TYPE="hidden" NAME="VTI-GROUP" VALUE="0">
Dadurch wird mir jetzt klar, weshalb immer wieder das leere Formular nach dem Absenden erscheint: In Action steht zuerst "--WEBBOT-SELF--" und nach dem Laden der Seite wird das durch den Dokumentnamen ersetzt. Also ist doch FP an allem schuld...
Habe deshalb alle WEBBOT-Komponenten rausgenommen und bei Action eine ASP-Bestätigungsseite eingegeben und das hat funktioniert. Nur wurden keine Daten bestätigt, sondern nur die leere Seite angezeigt. Somit komme ich zwar einen Schritt weiter, das wichtigste sind mir aber immer noch die Formulardaten, die irgendwie übermittelt werden müssen.
Irgendwie werd' ich's vielleicht noch schaffen, dann veröffentliche ich hier die Lösung.
Gruss, Fritz
Hallo Fritz,
die Rückgabe regelt der Code in der "aktion_aushubkuebel.asp", dort steht, was mit den Formulardaten angefangen wird und was dann an den Browser zurückgegeben wird...;
Gruß, Frankx
FP ist nicht schuld, ein Editor kann nicht schuld sein...;
Hallo Fritz,
die Rückgabe regelt der Code in der "aktion_aushubkuebel.asp", dort steht, was mit den Formulardaten angefangen wird und was dann an den Browser zurückgegeben wird...;
Gruß, Frankx
FP ist nicht schuld, ein Editor kann nicht schuld sein...;
Hallo Frankx
Ich versteh Dich zwar voll und ganz und möchte Dir nochmals für Deine Hilfe herzlichst danken. Ich kann Dir aber versichern, dass FrontPage nicht bloss ein Editor ist, sondern im Hintergrund allerlei betreibt.
Habe das Problem soeben auf andere Weise gelöst: Jedes Formularfeld werde ich sofort mit onblur="..." prüfen, sodass beim Submit-Befehl keine Routine mehr aufgerufen wird. Und siehe da - es funktioniert.
So, jetzt wünsch' ich uns ein schönes Wochenende mit erfreulicheren Dingen als HTML-Code.
Herzlichen Gruss
Fritz
hi!
<form name="promotionForm" method="POST" action="--WEBBOT-SELF--" onSubmit="return validatePromotionForm();">
sollte problemlos klappen, kommt halt auch drauf an was im .js teil steht
ew<<
Hallo Fritz,
gib dir deine validation doch mal über ein Alert aus. Vielleicht returned sie ja false, aus irgendeinem Grund, der in der Validation liegt...;
Gruß, Frankx