Ergebnis 1 bis 4 von 4
  1. #1
    bluelion ist offline Grünschnabel
    registriert
    08-03-2003
    Beiträge
    7

    Formularversand mittels ASP

    hallo

    ich habe ein Html-Formular geschrieben und möchte die Formulardaten mittles ASP an die E-Mailaddresse übermitteln.
    Wenn ich das Formular auf dem Server teste, bekomme ich immer die Fehlermeldung "Microsoft JScript runtime error '800a1391'
    'request' is undefined
    /kontakt/mailrequest.asp, line 6" wenn ich das formular absenden will.

    Das Script habe ich bekommen und an meine Bedürfnisse angepasst.

    Ich bin Anfänger in ASP und wäre daher sehr dankbar wenn mir jemand dabei helfen könnte und mir sagen kann was ich falsch mache.

    hier der code:

    <%@language="jscript"%>
    <html>
    <head>
    <%
    var msg = "";
    var sWunsch = request.form("wunsch");
    var sName = request.form("name");
    var sVorname = request.form("vorname");
    var sStrasse = request.form("strasse");
    var sPlz = request.form("plz");
    var sWohnort = request.form("ort");
    var sTelefon = request.form("telefon");
    var sEmail = request.form("email");
    var sBemerkungen = request.form("bemerkungen");
    var sBody = "";

    msg = Server.CreateObject("CDONTS.NewMail");
    msg.From = sName;
    msg.To = "andrea_newyork@bluewin.ch";
    msg.Subject ="Anfrage aus Kontaktformular";
    sBody = "Feedback von " + sName;
    sBody += "\n\n" + new Date();
    sBody += "\n\n" + sWunsch;
    sBody += "\n\n" + sStrasse;
    sBody += "\n\n" + sPLZ;
    sBody += "\n\n" + sWohnort;
    sBody += "\n\n" + sTelefon;
    sBody += "\n\n" + sEmail;
    sBody += "\n\n" + sBemerkungen;
    msg.body = sBody;
    msg.Send();
    %>
    <title>Mailrequest</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="../style.css">
    </head>
    <body>
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td><div align="center">
    <p>&nbsp;</p>
    <p class="zentriert">Besten Dank f&uuml;r Ihre Mitteilung!</p></div></td>
    </tr>
    </table>
    </body>
    </html>

    hier der formular code:

    <script language="JavaScript" type="text/javascript">
    <!--
    function checkFormular()
    {
    if((document.formular.wunsch[0].checked == false) && (document.formular.wunsch[1].checked == false))
    //prüft ob etwas ausgewählt wurde
    {
    alert("Bitte wählen Sie aus ob Sie eine Kontaktaufnahme oder einen Einzahlungsschein wünschen.");
    document.formular.wunsch[0].focus();
    return(false);
    }
    if(document.formular.name.value == "")
    {
    alert("Sie haben Ihren Namen nicht eingegeben.\n\nBitte vervollständigen Sie Ihre Angabe.");
    document.formular.name.focus();
    return(false);
    }
    if(document.formular.vorname.value == "")
    {
    alert("Sie haben Ihren Vornamen nicht eingegeben.\n\nBitte vervollständigen Sie Ihre Angabe.");
    document.formular.vorname.focus();
    return(false);
    }
    if(document.formular.strasse.value == "")
    {
    alert("Sie haben die Strasse nicht eingegeben.\n\nBitte vervollständigen Sie Ihre Angabe.");
    document.formular.strasse.focus();
    return(false);
    }
    if(document.formular.plz.value == "")
    {
    alert("Sie haben die Postleitzahl nicht eingegeben.\n\nBitte vervollständigen Sie Ihre Angabe.")
    document.formular.plz.focus();
    return(false);
    }
    if(isNaN(document.formular.plz.value) == true) //prüft ob PLZ eine Nummer ist
    {
    alert("Die Postleitzahl muss eine Zahl sein.\n\nBitte überprüfen Sie Ihre Eingabe.");
    document.formular.plz.focus();
    return(false);
    }
    if(document.formular.plz.value.length != 4) //prüft ob PLZ vierstellig ist
    {
    alert("Die Postleitzahl muss vierstellig sein.\n\nBitte überprüfen Sie Ihre Eingabe.");
    document.formular.plz.focus();
    return(false);
    }
    if(document.formular.ort.value == "")
    {
    alert("Sie haben den Ort nicht eingegeben.\n\nBitte vervollständigen Sie Ihre Angabe.");
    document.formular.ort.focus();
    return(false);
    }
    }
    //-->
    </script>
    <h4>Ich w&uuml;nsche:</h4>
    <form name="formular" action="mailrequest.asp" method="post" onSubmit="return checkFormular()">
    <table width="410" height="330" border="0" align="left" cellpadding="0" cellspacing="0">
    <tr>
    <td width="145" align="left" valign="middle">Kontaktaufnahme</td>
    <td width="265" align="left" valign="middle">
    <input type="radio" name="wunsch" value="kontaktaufnahme"></td>
    </tr>
    <tr>
    <td width="145" align="left" valign="middle">Einzahlungsschein</td>
    <td width="265" align="left" valign="middle">
    <input type="radio" name="wunsch" value="einzahlungsschein"></td>
    </tr>
    <tr>
    <td width="145" align="left" valign="middle">Name *</td>
    <td width="265" align="left" valign="middle">
    <input name="name" type="text" size="40"
    onFocus="this.style.backgroundColor='#cccccc'"
    onBlur="this.style.backgroundColor='#ffffff'"></td>
    </tr>
    <tr>
    <td width="145" align="left" valign="middle">Vorname *</td>
    <td width="265" align="left" valign="middle">
    <input name="vorname" type="text" size="40"
    onFocus="this.style.backgroundColor='#cccccc'"
    onBlur="this.style.backgroundColor='#ffffff'"></td>
    </tr>
    <tr>
    <td width="145" align="left" valign="middle">Strasse *</td>
    <td width="265" align="left" valign="middle">
    <input name="strasse" type="text" size="40"
    onFocus="this.style.backgroundColor='#cccccc'"
    onBlur="this.style.backgroundColor='#ffffff'"></td>
    </tr>
    <tr>
    <td width="145" align="left" valign="middle">PLZ *</td>
    <td width="265" align="left" valign="middle">
    <input type="text" name="plz" size="4" maxlength="4"
    onFocus="this.style.backgroundColor='#cccccc'"
    onBlur="this.style.backgroundColor='#ffffff'"></td>
    </tr>
    <tr>
    <td width="145" align="left" valign="middle">Ort *</td>
    <td width="265" align="left" valign="middle">
    <input name="ort" type="text" size="40"
    onFocus="this.style.backgroundColor='#cccccc'"
    onBlur="this.style.backgroundColor='#ffffff'"></td>
    </tr>
    <tr>
    <td width="145" align="left" valign="middle">Telefon</td>
    <td width="265" align="left" valign="middle">
    <input name="telefon" type="text" size="40"
    onFocus="this.style.backgroundColor='#cccccc'"
    onBlur="this.style.backgroundColor='#ffffff'"></td>
    </tr>
    <tr>
    <td width="145" align="left" valign="middle">E-Mail</td>
    <td width="265" align="left" valign="middle">
    <input name="email" type="text" size="40"
    onFocus="this.style.backgroundColor='#cccccc'"
    onBlur="this.style.backgroundColor='#ffffff'"></td>
    </tr>
    <tr>
    <td width="145" align="left" valign="middle">Bemerkungen</td>
    <td width="265" align="left" valign="middle">
    <textarea name="bemerkungen" cols="40" rows="5"
    onFocus="this.style.backgroundColor='#cccccc'"
    onBlur="this.style.backgroundColor='#ffffff'"></textarea></td>
    </tr>
    <tr>
    <td width="145" height="15" align="left" valign="middle" class="klein">*
    obligatorisch</td>
    <td width="265" height="15" align="left" valign="middle">&nbsp;</td>
    </tr>
    <tr>
    <td width="145" align="left" valign="middle">Formulardaten</td>
    <td width="265" align="left" valign="middle">
    <input type="reset" name="reset" value="l&ouml;schen">&nbsp;
    <input type="submit" name="submit" value="senden"></td>
    </tr>
    </table>
    <pre>&nbsp;</pre>
    </form>

  2. #2
    Avatar von Comet
    Comet ist offline Administrator
    registriert
    17-09-2001
    Ort
    Austria | Westendorf
    Beiträge
    2.182
    Hallo!

    Ich weiß zwar nicht ob es das ist da ich bei ASP immer nur VBScript verwende aber da JScript im Gegensatz zu VBScript case-sensitive ist würde ich Request.Form("wunsch") verwenden.
    ..:::Andi:::..

  3. #3
    bluelion ist offline Grünschnabel
    registriert
    08-03-2003
    Beiträge
    7
    hallo

    erst mal danke für den tip. liegt wirklich an der klein- grosschreibung.

    ich möchte jetzt aber noch eine fehlermeldung ins script einbauen, dass wenn die formulardaten nicht korrekt versendet werden, dass dann der user eine fehlermeldung bekommt.
    wie kriege ich das denn hin?

    gruss und vielen dank!

  4. #4
    Avatar von Comet
    Comet ist offline Administrator
    registriert
    17-09-2001
    Ort
    Austria | Westendorf
    Beiträge
    2.182
    Hallo!

    Wenn zb. keine Email eingetragen wurde, oda sowas meinst du sicherlich, ich würds so machen:

    Code:
    <%@language="jscript"%> 
    <html> 
    <head> 
    <% 
    var msg = ""; 
    var sWunsch = request.form("wunsch"); 
    var sName = request.form("name"); 
    var sVorname = request.form("vorname"); 
    var sStrasse = request.form("strasse"); 
    var sPlz = request.form("plz"); 
    var sWohnort = request.form("ort"); 
    var sTelefon = request.form("telefon"); 
    var sEmail = request.form("email"); 
    var sBemerkungen = request.form("bemerkungen");
    
    if( !sEmail ) {
    %>
    <script language="Javascript">
    alert("Bitte Emailadresse eintragen");
    history.back();
    </script>
    <%
    }
    Oder aber auch mit serverseitigen Script zurück, wie man will.
    ..:::Andi:::..

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •