Vollständige Version anzeigen: html formular Umlaute anders ausgeben

Shadow_Sleeper
Hi@all!

Ich arbeite im Moment an einem HTML-Formular, dass nach dem Abschicken von einem Javascript überprüft wird, um sicher zu stellen, dass in der E-Mail-Zeile auch eine E-Mail Adresse steht, dass Name und Vorname ausgefüllt sind. Danach wird das Formular an das installierte Mailprogramm weitergreicht und kann dann so abgeschickt werden. Jetzt habe ich zwei Probleme. Mein Hauptproblem: Da Umlaute gegen unicode ausgetauscht werden und der in der e-mail vorhandene Text somit schwer lesbar ist, wenn Umlaute eingegeben wurden. Ich möchte gerne wissen, ob und wie man mit Javascript die Umlaute austauschen kann, so dass ein "ü" z.B. zu "ue" wird.
Ein Nebenproblem ist, dass mein Formular alles zussamenschreibt, statt es untereinander in der e-mail aufzulisten, wodurch ein Kettensatz entsteht. Lässt sich dies ändern?

Hier die Ausgabe meines Formulars zur Veranschaulichung des Problems:

anrede=Herr&vorname=Schadow&name=Sleeper&stra%DFe=Nirgendwo&
postleitzahl=12345&ort=Irgendwo&email=e-mail%40wurscht.de&
Gr%F6%DFe=DIN+A3&Farben=gr%FCn&Farben=blablabla

Bevor jemand fragt, ich möchte dies alles über e-mail laufen lassen, da mir kein Server zur Verfügung steht, über den ich das ganze laufen lassen könnte. PHP geht auch nicht, da die Site komplett in HTML entsteht.

Vielen Dank an alle, die sich etwas Zeit dafür nehmen, sich mit diesem Problem zu befassen.

Grüße, Shadow
Paulemann
Hallo Shadow_Sleeper,

probiere es mit der Funktion escape(), bzw. unescape(), so werden alle Sonderzeichen (und Umlaute) in ASCII umgewandelt und dann mit unescape() wieder lesabar gemacht, anstatt es in "ue" etc. zu wandeln...

Zitat:


wandeln:

var MyText = "der übergebene Text";
document.write(escape(MyText));


und zurückwandeln:

var MyText = "der%20%C3%BCbergebene%20Text";
document.write(unescape(MyText));



Hoffe, das es Dir weiter hilft heilig

Gruß
Paule
Shadow_Sleeper
Hi Paulemann,

ich hab mich mal an deinem Vorschlag probiert, doch bis jetzt bleibt alles beim alten. Das Script sieht in seiner Grundform so aus:

function chkformular () {
if (document.formular.vorname.value == "") {
alert("Bitte Ihren Vornamen eingeben!");
document.formular.vorname.focus();
return false;
}
if (document.formular.name.value == "") {
alert("Bitte Ihren Namen eingeben!");
document.formular.name.focus();
return false;
}
if (document.formular.email.value == "") {
alert("Bitte Ihre E-Mail-Adresse eingeben!");
document.formular.email.focus();
return false;
}
if (document.formular.email.value.indexOf("@") == -1) {
alert("Keine E-Mail-Adresse!");
document.formular.email.focus();
return false;
}
}

Muss ich erst eine neue Variable definieren oder kann ich z.B document.formular.name.value nutzen?
Da ich nicht oft mit Javascript hantiere und es hier nur tue, damit die Ausgaben später auch sinnvoll sind, weis ich nicht genau, welche Variable ich eingeben muss...

Gruß, Shadow
Paulemann
Hi,

bevor wir hier die Seiten füllen und am Ende doch nichts rauskommt... schaue mal hier, da sind ua. fertige Formulare, die Du nur anpassen bzw. miteinander kombinieren kannst... man muss dar Rad nicht neu erfinden fröhlich

Gruß
Paule
Shadow_Sleeper
Danke Paulemann, war mir eine sehr gorße Hilfe, nach so einer Seite hatte ich schon sehr lange gesucht smile
Paulemann
Bitteschön... fröhlich ich weiß wie es ist, wenn man nur ne Kleinigkeit braucht und deswegen nicht vorwärts kommt...

Gruß
Paule