[GastForen Programmierung/Entwicklung JavaScript Formularabfrage mit document.write in formatierte Seite mit zurück-Link

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Formularabfrage mit document.write in formatierte Seite mit zurück-Link

matwic
Beiträge gesamt: 5

19. Mär 2008, 23:47
Beitrag # 1 von 8
Bewertung:
(2654 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

1. Wenn ich folgendes Script für eine Formularabfrage verwende, schreibt es die Meldung "Folgende Angaben sind notwendig:" oder "EMail muss eine gültige Email-Adresse enthalten." in ein neues unformatiertes Dokument, anstatt in meine mit CSS formatierte Seite. Kann ich mein CSS irgendwie in das Ausgabedokument packen oder die Meldung in eine eigene formatierte Seite (z.B. form_error.html) mit back-link schreiben lassen?

2. Das mit dem back-link (Link zurück zum Formular um die Angaben zu korrigieren) ist gleich die zweite Frage: Wie stelle ich das an?

3. Und wie formatiere ich den Ausgabetext, wenn ich möchte, dass die fehlenden Angaben untereinander in meiner allgemeinen Schriftformatierung aufgelistet werden? Im Moment werden sie unformatiert nebeneinander dargestellt.

Sind diese Dinge mit Js überhaupt möglich?

Vielen Dank für eure Hilfe.
matwic

Und hier das Script:

Code
<script type="text/javascript"> 
<!--
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' muss eine gültige Email-Adresse enthalten.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+'\n'; }
} if (errors) document.write('Folgende Angaben sind notwendig:\n'+errors);
document.MM_returnValue = (errors == '');
} }
//-->
</script>


(Dieser Beitrag wurde von oesi50 am 21. Mär 2008, 17:15 geändert)
X

Formularabfrage mit document.write in formatierte Seite mit zurück-Link

SabineP
Beiträge gesamt: 7586

20. Mär 2008, 09:07
Beitrag # 2 von 8
Beitrag ID: #342423
Bewertung:
(2632 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo matwic,

lies mal hier nach:

http://aktuell.de.selfhtml.org/...tuebergabe/index.htm
Gruß Sabine


als Antwort auf: [#342406]

Formularabfrage mit document.write in formatierte Seite mit zurück-Link

matwic
Beiträge gesamt: 5

21. Mär 2008, 10:49
Beitrag # 3 von 8
Beitrag ID: #342613
Bewertung:
(2607 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine!

Danke dir für den Link. Irgendwie sehe ich einen möglichen Lösungsansatz mit window.name, aber ich weiss ehrlich gesagt nicht, wie ich das konkret für meinen Fall umsetzen könnte. Bin leider kein Programmierer, der so etwas auf Anhieb verstehen würde, gerade weil es eben "nur" ein (Java)Script ist :-).
Also bei diesem storage.js blick ich wirklich nicht mehr durch.

Irgendwie muss wohl das Resultat der Abfrage (die ein eigenes Js ist, welches zuerst normal abläuft) mit storage.getAll "herausgepickt" werden und mittels location.href in das html-Dokument mit dem zurück-Link geschrieben/übergeben werden. Klingt für mich ziemlich kompliziert.

Ich finde leider auch nirgends ein Beispiel einer Werübergabe in Zusammenhang mit einer Formularabfrage. Ich kann in meinem Fall ja nicht direkt einen Wert übergeben und es handelt sich auch nicht um den eingegebenen Wert. Erst die Abfrage liefert den Wert und die Übergabe findet nur im Falle einer Fehleingabe statt, also nicht in jedem Fall wie in diesem Beispiel http://aktuell.de.selfhtml.org/...index.htm#windowname.

Vielleicht hast du ja noch weitere Tipps zur Umsetzung meines Beispiels auf Lager? Solche die leicht verständlich sind oder quasi 1:1 übernommen werden können (wo es sich um denselben Fall handelt). Ich finde zu diesem Fall sehr wenig und wenn ich etwas finde, handelt es sich nicht um das selbe oder ich verstehe es nicht. Oder ist es gar umständlicher das Resultat mit Js herbeizuführen als sonstwie?

Danke jedenfalls für jede Hilfestellung!

matwic


als Antwort auf: [#342423]
(Dieser Beitrag wurde von matwic am 21. Mär 2008, 10:52 geändert)

Formularabfrage mit document.write in formatierte Seite mit zurück-Link

SabineP
Beiträge gesamt: 7586

21. Mär 2008, 14:37
Beitrag # 4 von 8
Beitrag ID: #342650
Bewertung:
(2582 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo matwic,

was willst Du eigentlich machen?
Formulareingaben mit Javascript prüfen?

Wenn ja, dann findest Du hier genügend Beispiele:
http://aktuell.de.selfhtml.org/...script/formkontrolle
http://de.selfhtml.org/...formulareingaben.htm

Wenn Du nach Absenden des Formulars eine Auswertung der falschen bzw. fehlenden Formulardaten haben möchtest, dann sollte diese Aufgabe Dein serverseitiges Script erledigen, das die Formulardaten verarbeitet.
Gruß Sabine


als Antwort auf: [#342613]

Formularabfrage mit document.write in formatierte Seite mit zurück-Link

matwic
Beiträge gesamt: 5

21. Mär 2008, 15:41
Beitrag # 5 von 8
Beitrag ID: #342655
Bewertung:
(2576 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das Script zur Überprüfung steht ja in meinem ersten Beitrag. Es geht nun um die Ausgabe des Resultats dieser Überprüfung (z.B. "Geben Sie eine gültige E-Mail Adresse an"). In meinem Script wird diese Ausgabe mittels document.write in einem neuen leeren, weissen Dokument angezeigt, anstatt in meiner Seitenstruktur. Ich kann es natürlich mit einem alert machen, aber das möchte ich eben nicht.

Es geht konkret genau um dies:
"Bei einer Prüfung von Emailadressen, (...) werden die Werte in der Fehlermeldung mit ausgegeben. Den einzelnen Fehlern wird ein · und ein Leerzeichen vorangestellt und die Meldung mit alert() angezeigt."

oder

"Zuerst wird mit alert() jeweils in einem Meldungsfenster ausgegeben, was der Anwender falsch gemacht hat."

So steht es bei selfhtml.

Es geht nun darum, diesen Text, der im obigen Beispiel im alert erscheint, nach dem submit entweder neben dem Formular darzustellen, falls falsche Angaben gemacht wurden oder (besser!): dass der User bei Falschangaben auf eine Seite (in meiner Seitenstruktur, also nicht einfach eine weisse Seite, wo oben links der Text erscheint) weitergeleitet wird, wo die Fehler beschrieben sind (z.B. "Geben Sie eine gültige E-Mail Adresse an") und wo er dann auf "back" klicken kann um seine Angaben im Formular auf der vorherigen Seite zu berichtigen.


als Antwort auf: [#342650]
(Dieser Beitrag wurde von matwic am 21. Mär 2008, 15:51 geändert)

Formularabfrage mit document.write in formatierte Seite mit zurück-Link

SabineP
Beiträge gesamt: 7586

21. Mär 2008, 16:33
Beitrag # 6 von 8
Beitrag ID: #342663
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
>> nach dem submit...

Schau in das action-Attribut Deines Formulars.
Genau dort befinden sich Deine Formulardaten nach dem Submit.
Und genau dort mußt Du die Formulardaten weiterverarbeiten.

>> Das Script zur Überprüfung steht ja in meinem ersten Beitrag.

Das Script beinhaltet lediglich die Funktion MM_validateForm.
Wie und wann diese Funktion aufgerufen wird ist nicht ersichtlich.
Gruß Sabine


als Antwort auf: [#342655]
(Dieser Beitrag wurde von SabineP am 21. Mär 2008, 16:34 geändert)

Formularabfrage mit document.write in formatierte Seite mit zurück-Link

matwic
Beiträge gesamt: 5

21. Mär 2008, 16:46
Beitrag # 7 von 8
Beitrag ID: #342665
Bewertung:
(2553 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Tschuldige, hier die fehlenden Teile:

Code
<form name="formular" method="post" action="formular_script.php"> 


Code
<input type="submit" name="senden" onClick="MM_validateForm('Name','','R','Email','','RisEmail','Anfrage','','R');return document.MM_returnValue" class="senden" id="senden" value="senden" /> 


Wobei ich das (onClick) dann noch ändere und das ganze vom senden-Button wegnehmen und mit onSubmit in den oberen Teil verfrachten werde. Etwa so:

Code
<form action="formular_script.php" method="post" name="formular" onSubmit="MM_validateForm('Name','','R','Email','','RisEmail','Anfrage','','R');return document.MM_returnValue"> 


Aber ich glaube langsam wirds hier heller :-).

Heisst das nun, dass ich ich die Funktion MM_validateForm in die Datei formular_script.php schreiben muss, anstatt im kontakt.html, wo sich das Formular befindet?

matwic


als Antwort auf: [#342663]

Formularabfrage mit document.write in formatierte Seite mit zurück-Link

SabineP
Beiträge gesamt: 7586

21. Mär 2008, 17:24
Beitrag # 8 von 8
Beitrag ID: #342669
Bewertung:
(2540 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
>> Heisst das nun, dass ich ich die Funktion MM_validateForm in die Datei formular_script.php schreiben muss

Du mußt Dir eine PHP-Funktion schreiben, die die Formulardaten auswertet.
Denn mit Javascript kann der PHP-Interpreter nichts anfangen.
Gruß Sabine


als Antwort auf: [#342665]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
21.01.2021 - 22.01.2021

Digicomp Academy AG, Bern oder Basel
Donnerstag, 21. Jan. 2021, 08.30 Uhr - Freitag, 22. Jan. 2021, 17.00 Uhr

Kurs

Dieser Basic-Kurs ist der perfekte Einstieg in die Welt von InDesign, dem vielseitigen Layout-Programm. Sie lernen, wie InDesign aufgebaut ist, wie saubere Dokumente erstellt werden und wie man korrekt mit gelieferten InDesign-Projekten umgeht.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/INDEM1

Veranstaltungen
21.01.2021

Illustrator - das unbekannte Wesen

Online
Donnerstag, 21. Jan. 2021, 19.00 Uhr

Vortrag

Millionen Funktionen, und immer kommen neue dazu! Monika Gause ist jeden Januar aufs Neue ein gern gesehener Gast bei der IDUG Stuttgart. - Sie bringt alle Neuerungen mit, die 2020 dazukamen und jede Menge Tipps und Tricks. - Zudem wird sie uns informieren, was wir in Illustrator beachten müssen, wenn wir Daten fürs Web erstellen bzw. aufbereiten. - Wichtig zu wissen: "Dos and Don'ts" in Illustrator. Welche Fehler sollte man dringend vermeiden und was muss man unbedingt tun, damit es Spaß macht mit Illustrator zu arbeiten. - Dieses Jahr hast Du zusätzlich die Möglichkeit Monika im Voraus Fragen zu stellen. Fülle dieses Formular mit deinen Fragen; auch Beispieldateien sind anfügbar: https://forms.gle/fJmF8C6MjbDoEhED8

Nein

Organisator: InDesign Usergroup Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailidug AT satzkiste DOT de

https://idugs67.eventbrite.de/

IDUGS #67 Illustrator mit Monika Gause

Neuste Foreneinträge


Sommerurlaub ist nicht weit?

Anwendungsrahmen ausschalten auf Windows-PC?

Umstieg auf Linux ...

[GREP] beliebige Zeichen finden und durch selbe Anzahl an Leerzeichen oder Anzahl Zeichen "x" ersetzen

ICC Profil für Papier Munken Print crema FSC 90 g/m² mit 1,5 Vol.

PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

weitere peinliche Fragen zu Selbstverständlichkeiten

Scannen mit Affinity Photo (V 1.8.3.641) in Win 10

Hilfe

Bilder High> Low
medienjobs