Probleme mit JavaScript-Formular

thrasher

Grünschnabel
Hallo zusammen!
Ich hab mich endlich aufgerafft, für eine Übungsfirma eine kleine, aber feine Website zu erstellen, da die bereits vorhandene in einem horromäßigen Layout verfasst wurde...
Nachdem ich aber von Webshops wenig Ahnung habe, wollte ich den JScript-Code unverändert lassen... Das ganze habe ich getestet, allerdings funktioniert das bei mir nicht, wie es dort wahrscheinlich der Fall sein würde...Anstatt die Bestellung in einen Mailtext zu schreiben und an meine Adresse zu schicken, enthält die Bestellmail ein Attachment namens POSTDATA.ATT, das sicher kein normaler Büroangestellter lesen kann *g*

Der Code wurde 1:1 übernommen und lediglich die E-Mail-Adresse wurde auf meine geändert, damit ich das Ganze testen kann...

Eine Kopie des Mailformulars habe ich dazugehängt, wär schön, wenn mir da jemand etwas helfen kann...Und schon mal ein dickes fettes "Entschuldigung" für den langen Code ;)

Thrasher

---
HTML:
<script language="JavaScript">
 
var valueOfCookie = "";
var persAddress = "";
var valueOfBasket = "";
var orderToMBK ="";
 
 
function WriteCookie (cookieName, cookieValue, expiry) 
{
var expDate = new Date();
 
if(expiry)
{
expDate.setTime (expDate.getTime() + expiry);
document.cookie = cookieName + "=" + escape (cookieValue) + "; expires=" + expDate.toGMTString();
}
else
{
document.cookie = cookieName + "=" + escape (cookieValue);
}
}
 
 
function WriteCustCookie ()
{
var name = "MBK_Cust";
var value = document.forms["PersonalInfo"].elements["LastName"].value+"\n"+ 
document.forms["PersonalInfo"].elements["FirstName"].value+"\n"+
document.forms["PersonalInfo"].elements["StreetAddress"].value+"\n"+
document.forms["PersonalInfo"].elements["City"].value+"\n"+
document.forms["PersonalInfo"].elements["ZIP"].value+"\n"+ 
document.forms["PersonalInfo"].elements["Country"].value+"\n"+
document.forms["PersonalInfo"].elements["Phone"].value+"\n"+ 
document.forms["PersonalInfo"].elements["Email"].value+"\n";
var num = "1";
 
//
// dieses Cookie hat eine Gültigkeit von 1 Monat (cookie-Zeit in 1/1000 Sekunden)
//
 
WriteCookie(name, value, 1000 * 60 * 60 * 24 * num);
ShowOrder();
}
 
function ReadCookie (CookieName) 
{
var CookieString = document.cookie;
var CookieSet = CookieString.split (';');
var SetSize = CookieSet.length;
var CookiePieces
var ReturnValue = "";
var x = 0;
 
for (x = 0; ((x < SetSize) && (ReturnValue == "")); x++) 
{
CookiePieces = CookieSet[x].split ('=');
 
if (CookiePieces[0].substring (0,1) == ' ') 
{
CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length);
}
 
if (CookiePieces[0] == CookieName) 
{
ReturnValue = unescape(CookiePieces[1]);
}
}
 
// es muß noch das + kontrolliert werden
 
valueOfCookie += ReturnValue;
}
 
 
function ReadCustCookie ()
{
var nameOfCookie = "MBK_Cust";
valueOfCookie = "";
ReadCookie(nameOfCookie);
persAddress = valueOfCookie;
}
 
function ReadBaskCookie ()
{
var nameOfCookie = "MBK_Bask";
valueOfCookie = "";
ReadCookie(nameOfCookie);
valueOfBasket = valueOfCookie;
}
 
function ClearBasket ()
{
WriteCookie("MBK_Bask", "\n", 0);
}
 
function ShowOrder()
{
var text3 = "Ich bestelle folgende Artikel (Zusendung per Post - Nachnahme): \n";
ReadCustCookie ();
ReadBaskCookie ();
orderToMBK = persAddress + 
text3 +
valueOfBasket + "\n" + new Date();
document.forms["ToOrder"].elements["SendIt"].value = orderToMBK + "\n";
}
 
 
function ClearOrder()
{
ClearBasket();
ShowOrder();
document.forms["ToOrder"].elements["SendIt"].value = "Ihr Warenkorb ist leer.\n" + 
"Bitte geben Sie Ihre Bestellung ein.";
}
 
</script>
 
<h2 align="center"><font face="Arial">Bestellung versenden</font></h2>
 
<p><font face="Arial"><i>Bitte füllen Sie Namen und Adresse
vollständig aus und bestätigen Sie diese Angaben durch einen Klick auf das untenstehende Schaltfeld:</i></font> </p>
 
<form name="PersonalInfo">
<div align="center"><center><table border="0">
<tr>
<td align="right"><font size="2" face="Arial">Vorname:</font>
</td>
<td><font size="2" face="Arial"><input type="text"
size="25" name="FirstName"> </font></td>
</tr>
<tr>
<td align="right" valign="top"><font size="2"
face="Arial">Name:</font> </td>
<td><font size="2" face="Arial"><input type="text"
size="25" name="LastName"> </font></td>
</tr>
<tr>
<td align="right"><font size="2" face="Arial">Adresse:</font>
</td>
<td><font size="2" face="Arial"><input type="text"
size="25" name="StreetAddress"> </font></td>
</tr>
<tr>
<td align="right"><font size="2" face="Arial">Ort:</font>
</td>
<td><font size="2" face="Arial"><input type="text"
size="25" name="City"> </font></td>
</tr>
<tr>
<td align="right"><font size="2" face="Arial">PLZ:</font>
</td>
<td><font size="2" face="Arial"><input type="text"
size="15" name="ZIP"> </font></td>
</tr>
<tr>
<td align="right"><font size="2" face="Arial">Land:</font>
</td>
<td><font size="2" face="Arial"><input type="text"
size="25" name="Country"> </font></td>
</tr>
<tr>
<td align="right"><font size="2" face="Arial">Telefon:</font>
</td>
<td><font size="2" face="Arial"><input type="text"
size="15" name="Phone"> </font></td>
</tr>
<tr>
<td align="right"><font size="2" face="Arial">Email:</font>
</td>
<td><font size="2" face="Arial"><input type="text"
size="25" name="Email"> </font></td>
</tr>
<tr>
<td align="center" colspan="2"><p align="center"><font
face="Arial"><input type="button" name="PersSubmit"
value="bitte Angaben bestätigen"
onclick="WriteCustCookie()"> </font></p>
</td>
</tr>
</table>
</center></div>
</form>
 
<p>&nbsp;</p>
<div align="center"><center>
 
<table border="0" width="80%">
<tr>
<td width="50%"><p align="right">&nbsp; </p>
<p align="right"><a name="korb"></a><font face="Arial"><i>Kontrollieren
Sie bitte Ihre Bestellung und drücken Sie bitte zum
Versenden die Schaltfläche &quot;SENDEN&quot;.</i></font></p>
<p align="right"><font color="#FF0000" size="2"
face="Arial">Inhalt des Warenkorbs:</font> </p>
</td>
</tr>
<tr>
<td width="50%" height="232"><form
action="mailto:thrasher0815@gmx.at" method="POST"
name="ToOrder">
<p align="center"><font face="Arial"><textarea
name="SendIt" rows="15" cols="66" wrap="virtual">
</textarea> <br>
&nbsp; <br>
&nbsp;<input type="button" name="fakeClear"
value="Warenkorb leeren" onclick="ClearOrder()"></font><input
type="submit" name="B1" value="Abschicken"><font
face="Arial"> <br>
</font></p>
</form>
</td>
</tr>
</table>
</center></div>
 

Andreas Gaisbauer

Erfahrenes Mitglied
thrasher hat gesagt.:
Code:
<form name="PersonalInfo">
...
</form>
ist es gewollt, das die PersonalInfo nicht mit verschickt werden? Wenn nicht fehlt hier noch eine Action....

Ok, zum Problem: mach aus
Code:
<form action="mailto:thrasher0815@gmx.at" method="POST"     name="ToOrder">
follgendes:
PHP:
<form action="mailto:thrasher0815@gmx.at" method="POST" 
name="ToOrder" enctype="text/plain">

Email versand per Javascript hat aber einige Nachteile (Mailprogramm mus installiert und konfiguriert sein; Viruswarnung bei Outlook XP usw..), wäre zu überlegen das ganze auf einen Formmailer umzustellen...

ciao Andreas
 

Precog

Erfahrenes Mitglied
das kommt vom internet-explorer (oder windows, outlook, ...???)

ich hatte das auchmal, dann kommt da sone mail,
mit anhang, in dem das dann ungefähr so aussieht, oder:
Code:
name=Mueller&vorname=Hans&message=lala
???

das musst du dann mit nem richtigen formmailer machen...

cu
victork
 

thrasher

Grünschnabel
Also danke für die Tipps...
das mit dem Formmailer hab ich probiert und zwar den von hostedscripts.com, allerdings ist mir der nicht so sympathisch, da immer eine Bestätigung verlangt wird, die die Zielgruppe dieser Firma sicher nicht so leicht verstehen wird, da sie nur auf Englisch angezeigt wird *g*
Wenn ihr einen ohne solchen Sicherheitsabfragen kennt, oder zumindest auf Deutsch, wär ich sehr dankbar.

Das mit dem enctype-Attribut hab ich ebenfalls probiert und es funkt blendend, allerdings sind die Virenmeldungen wirklich störend (auch mein McAfee springt drauf an).

Die PersonalInfo wird nicht direkt verschickt, sondern als Variable gespeichert und bei Bestätigung in das Textfeld mit dem Rechnungstext gespeichert und das dann gemeinsam verschickt...warum der Programmierer das so handhaben wollte, ist mir unklar...

Und ja, das Formular wäre standardmäßig mit POSTDATA.ATT verschickt worden und würde dann ungefähr so aussehen... *g*

SendIt=lalala%0D%0AThrasher%0D%0Aasdlkj%0D%0Aslkjf%0D%0A%0D%0A%0D%0A%0D%0A%0D%0AIch+bestelle+folgende+Artikel+%28Zusendung+per+Post+-+Nachnahme%29%3A+%0D%0A%0D%0AMon+Feb+10+16%3A55%3A32+UTC%2B0100+2003%0D%0A&B1=Abschicken

Also nochmals danke, sofern ihr keine besseren Formmailer wisst (ich hab keine gefunden), werd ichs mit dem von Hostedscripts belassen...

Thrasher
 

Andreas Gaisbauer

Erfahrenes Mitglied
Welchen von Hotscripts hast du denn verwendet? Da gibts ja 1000de ;) Und in welcher "Sprache" - also Perl, PHP, C... - ist er geschrieben? Normalerweise kann man die Scripts leicht anpassen...


ciao Andreas