• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

E-Mail-Checker in Formular einbinden

Nonens

Lounge-Member
Hi!

Habe schon in der Suchfunktion geschaut, auch ein paar Sachen gefunden, aber damit kann ich dennoch nichts anfangen. Folgendes Problem:

Ich habe ein Bestellformular, in dem man ganz normal seine Daten eingeben kann. Aber sendet man, wird das Formular auch ohne die wichtigen Angaben gesendet (User kann senden ohne auszufüllen). Jetzt habe ich aus meinem schlauen Buch ein Script abgetippt, mit dem man das eMail-Feld ausfüllen MUSS. Das Problem ist, daß in dem Script direkt nach dem email-Feld der <form>-tag steht, mit input type etc. und dem button, der die Fehlermeldung dann letztendlich ausgibt. Ich möchte aber den Button gar nicht dort mitten in meinem Formular stehen haben. Ich möchte am Ende auf "Senden" klicken können und dann entweder die Fehlermeldung erhalten "Ungültige eMail-Adresse" oder die Aktion "Senden".

Hier mein Script:

<script language="JavaScript">

function Senden(eing) {

var reg = /.+@.x/;
if (reg.exec(eing))
else alert("Ungueltige eMail-Adresse");
}

</script>

</head>
<body text="#000000" bgcolor="#a1b9f5" link="#FFFFFF" alink="#0000FF" vlink="##0000FF">

<hr width="70%"><p>



<form action="http://www.***" method="POST">

<input type=hidden name="_myemail_" value="bestellung@***.de">

<input type=hidden name="_subject_" value="Onlinebestellung Tarife/Verträge">

<input type=hidden name="_myself_" value="formular.html">
<input type=hidden name="_thanks_" value="http://***">
<input type=hidden name="_art-nr._" value="10001000">

<center><table border="0" width="600">
<tr>
<td valign=top width="200"><font face="arial,helvetica">
Vorname</font></td>
<td valign=top width="400"><input type=text name=Vorname size=50></td>

</tr>
<tr>
<td valign=top width="200"><font face="arial,helvetica">Name</font></td>
<td valign=top width="400"><input type=text name=Name size=50></td>

</tr>

<tr>
<td valign=top width="200"><font face="arial,helvetica">ggf. Firma</font></td>
<td valign=top width="400"><input type=text name=Firma size=50></td>

</tr>

<tr>
<td valign=top width="200"><font face="arial,helvetica">Strasse, Hausnummer</font></td>
<td valign=top width="400"><input type=text name=Strasse, Hausnummer size=50></td>

</tr>
<tr>
<td valign=top width="200"><font face="arial,helvetica">PLZ  
Ort</font></td>
<td valign=top width="400"><input type=text name=PLZ size=6>    <input type=text name=Ort size=40></td>

</tr>
<tr>
<td valign=top width="200"><form onSubmit="Senden(this.eingabe.value);return false;">
<font face="arial,helvetica">eMail</font></td>
<td valign=top width="400"><input type=text name=eingabe size=50></td>

</tr>

<tr>
<td valign=top width="200"><font face="arial,helvetica">Ihre Rückrufnummer</font></td>
<td valign=top width="400"><input type=text name=Telefonnummer size=40></td>
</tr>

<tr>

<td width="200" valign=top><font face="arial,helvetica">
Ihr Bestellwunsch nochmal im Überblick:</font>
</td>

<td width="400" valign=top>
<textarea name=Bestellwunsch rows=5 cols=50>Samsung - SGH 2200, monatliche Gerätenutzung nur 5,- DM! Monatliche Grundgebühr DM 69,90
</textarea>

<tr>
<td valign="top" width="10"><font face="arial,helvetica">Bestellmenge</font></td>
<td valign="top" width="2"><select name=Bestellmenge>
<option selected value=1>1
<option value=2>2
<option value=2>3
<option value=4>4
<option value=6>6
<option value=7>7
<option value=8>8
<option value=9>9
<option value=10>10
</select></td>
</tr>


</tr>
<tr><td> </td></tr>

<tr>
<td width="100" valign=top> </td>
<td width="400" valign=top><input type=submit value=Senden onclick="Senden(this.form.eingabe.value)">    <input type=reset value=Zurücksetzen></td>
</tr>
</table>
</form>

</body>
</html>


Ich weiß, daß da Fehler sind, aber ich bin zu blöd bzw. weiß zu wenig von JS, als daß ich sie selber finden könnte...
 
hi,

lese bitte einfach ein HTML Tuturial über Formulare (selfhtml zum Beispiel, und bitte auch ein Form Processing Tuturial). Das kostet dich maximal 2-3 Stunden und du kannst solche Probleme ganz easy lösen, außerdem wirst du dann bestimmt auf elegantere Lösungswege stoßen.

greetz
slaven
 
Tolle Antwort!

Mag ja sein, daß Du mich jetzt für blöd hältst, aber ich habe bereits Stunden an der Fehlersuche gesessen, und ich HABE sowohl ein HTML wie auch ein JavaScript-Buch, aus dem ich dieses Script auch habe. Wenn ich weiterwüßte, hätte ich meine Frage hier gar nicht gepostet. Ich selber finde den Fehler nicht.

Ich wäre anderen für eine Antwort wirklich dankbar... :(

P.S. Das Formular funktioniert. Nur die eMail-Abfrage nicht.
 
Hallo?!

Könnte sich jemand mit meinem Problem befassen, bitte?

Oder ist mein Problem so simpel, daß hier keiner Lust hat, Hilfestellung zu leisten... ? :(
 
Dein Problem is schon eigenartig. Eine Stunde Beschäftigung mit einem Tutorial (z.b. http://www.teamone.de/selfhtml/selfhtml.htm) hätte dein Problem gelöst.

Aber dafür ist das Forum ja da.

Die E-Mail Abfrage is komisch, hab ich noch nie gesehen.

Die hier funktioniert.

Hab dir auch die html Kleinigkeiten ausgebessert.(nicht alle)
Ich hab ja kein Leben.

Die Funktion senden() wird beim Drücken des Submit buttons aufgerufen (return senden();).
Bei false als return Wert wird die form action nicht aufgerufen. Soll der Fall sein, wenn irgendeine falsche Eingabe gemacht wird. Der Focus wird auf das dementsprechende Feld gelegt. Andere Möglichkeit wäre, die Eingaben mittels onChange zu überprüfen(werden nicht jedesmal alle ifs durchlaufen). Wird dich aber nicht so interessieren. Hab dir auch noch die Überprüfung des Vornamens(ob einer eingegeben wurde, oder nicht) dazugeschrieben. Für alle anderen Formularelemente, kannst du eigentlich genauso machen.

Toller Fehler war übrigens, zwei form tags zu öffnen, gleichzeitig aber keinen zu benennen.

Wie willst du die Formulardaten jemals verarbeiten? cgi oder so....

Wieauchimmer, viel Spaß mit dem Quelltext

<html>
<head>
<script language="JavaScript">

function senden() {

if(document.form.Vorname.value=="")
{
alert("Vornamen eingeben!");
document.form.Vorname.focus();
return false;
}
if(document.form.eingabe.value.indexOf('@') == -1)
{
alert("Keine gueltige E-Mail-Adresse!");
document.form.eingabe.focus();
return false;
}

return true;
}
</script>

</head>
<body text="#000000" bgcolor="#a1b9f5" link="#FFFFFF" alink="#0000FF" vlink="##0000FF">
<hr width="70%"><p>

<form name="form" action="http://www.***" method="POST">
<input type=hidden name="_myemail_" value="bestellung@***.de">
<input type=hidden name="_subject_" value="Onlinebestellung Tarife/Verträge">
<input type=hidden name="_myself_" value="formular.html">
<input type=hidden name="_thanks_" value="http://***">
<input type=hidden name="_art-nr._" value="10001000">

<center>
<table border="0" width="600">
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
Vorname
</font>
</td>
<td valign=top width="400">
<input type=text name=Vorname size=50>
</td>
</tr>
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
Name
</font>
</td>
<td valign=top width="400">
<input type=text name=Name size=50>
</td>
</tr>
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
ggf. Firma
</font>
</td>
<td valign=top width="400">
<input type=text name=Firma size=50>
</td>
</tr>
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
Strasse, Hausnummer
</font>
</td>
<td valign=top width="400">
<input type=text name=Strasse, Hausnummer size=50>
</td>
</tr>
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
PLZ
Ort
</font>
</td>
<td valign=top width="400">
<input type=text name=PLZ size=6>
<input type=text name=Ort size=40>
</td>
</tr>
<tr>
<td valign=top width="200">
<!--<form> -->
<font face="arial,helvetica">
eMail
</font>
</td>
<td valign=top width="400">
<input type=text name=eingabe size=50>
</td>
</tr>
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
Ihre Rückrufnummer
</font>
</td>
<td valign=top width="400">
<input type=text name=Telefonnummer size=40>
</td>
</tr>
<tr>
<td width="200" valign=top>
<font face="arial,helvetica">
Ihr Bestellwunsch nochmal im Überblick:
</font>
</td>
<td width="400" valign=top>
<textarea name=Bestellwunsch rows=5 cols=50>Samsung - SGH 2200, monatliche Gerätenutzung nur 5,- DM! Monatliche Grundgebühr DM 69,90
</textarea>
</tr>
<tr>
<td valign="top" width="10">
<font face="arial,helvetica">
Bestellmenge
</font>
</td>
<td valign="top" width="2">
<select name=Bestellmenge>
<option selected value=1>1
<option value=2>2
<option value=2>3
<option value=4>4
<option value=6>6
<option value=7>7
<option value=8>8
<option value=9>9
<option value=10>10
</select>
</td>
</tr>


<!--</tr>

<tr><td> </td></tr>
-->
<tr>
<td width="100" valign=top>
</td>
<td width="400" valign=top>
<input type=submit value=Senden onclick="return senden()">
<input type=reset value=Zurücksetzen>
</td>
</tr>
</table>
</form>

</body>
</html>




<script language="JavaScript">

function senden() {

if(document.form.Vorname.value=="")
{
alert("Vornamen eingeben!");
document.form.Vorname.focus();
return false;
}
if(document.form.eingabe.value.indexOf('@') == -1)
{
alert("Keine gueltige E-Mail-Adresse!");
document.form.eingabe.focus();
return false;
}

return true;
}
</script>

</head>
<body text="#000000" bgcolor="#a1b9f5" link="#FFFFFF" alink="#0000FF" vlink="##0000FF">
<hr width="70%"><p>

<form name="form" action="http://www.***" method="POST">
<input type=hidden name="_myemail_" value="bestellung@***.de">
<input type=hidden name="_subject_" value="Onlinebestellung Tarife/Verträge">
<input type=hidden name="_myself_" value="formular.html">
<input type=hidden name="_thanks_" value="http://***">
<input type=hidden name="_art-nr._" value="10001000">

<center>
<table border="0" width="600">
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
Vorname
</font>
</td>
<td valign=top width="400">
<input type=text name=Vorname size=50>
</td>
</tr>
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
Name
</font>
</td>
<td valign=top width="400">
<input type=text name=Name size=50>
</td>
</tr>
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
ggf. Firma
</font>
</td>
<td valign=top width="400">
<input type=text name=Firma size=50>
</td>
</tr>
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
Strasse, Hausnummer
</font>
</td>
<td valign=top width="400">
<input type=text name=Strasse, Hausnummer size=50>
</td>
</tr>
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
PLZ
Ort
</font>
</td>
<td valign=top width="400">
<input type=text name=PLZ size=6>
<input type=text name=Ort size=40>
</td>
</tr>
<tr>
<td valign=top width="200">
<!--<form> -->
<font face="arial,helvetica">
eMail
</font>
</td>
<td valign=top width="400">
<input type=text name=eingabe size=50>
</td>
</tr>
<tr>
<td valign=top width="200">
<font face="arial,helvetica">
Ihre Rückrufnummer
</font>
</td>
<td valign=top width="400">
<input type=text name=Telefonnummer size=40>
</td>
</tr>
<tr>
<td width="200" valign=top>
<font face="arial,helvetica">
Ihr Bestellwunsch nochmal im Überblick:
</font>
</td>
<td width="400" valign=top>
<textarea name=Bestellwunsch rows=5 cols=50>Samsung - SGH 2200, monatliche Gerätenutzung nur 5,- DM! Monatliche Grundgebühr DM 69,90
</textarea>
</tr>
<tr>
<td valign="top" width="10">
<font face="arial,helvetica">
Bestellmenge
</font>
</td>
<td valign="top" width="2">
<select name=Bestellmenge>
<option selected value=1>1
<option value=2>2
<option value=2>3
<option value=4>4
<option value=6>6
<option value=7>7
<option value=8>8
<option value=9>9
<option value=10>10
</select>
</td>
</tr>


<!--</tr>

<tr><td> </td></tr>
-->
<tr>
<td width="100" valign=top>
</td>
<td width="400" valign=top>
<input type=submit value=Senden onclick="return senden()">
<input type=reset value=Zurücksetzen>
</td>
</tr>
</table>
</form>

</body>
</html>
 
problem

danke für das script. genau das habe ich auch gesucht.
aber ich habe es irgendwie falsch gemacht.
und zwar habe ich folgendes javascript eingefügt:



<SCRIPT type="text/javascript">
<!--
function senden() {

if(document.form.newemail.value.indexOf('@') == -1)
{
alert("Keine gueltige E-Mail-Adresse!");
document.form.newemail.focus();
return false;
}

return true;
}
//-->
</SCRIPT>





und folgende form:



<form action="newsletter_mailadd.php" method="POST" >
<input name="newemail" size="15" maxlength="255" value=" e-mail" style="font-family: Verdana; font-size: 10px; background-color: #C0C0C0; border-style: solid; border-width: 1">
<input type="submit" name="hinzufuegen" value="GO!" class="knoepfe" onclick="function senden()">
</form>




ich bin ein anfänger, kann mir jemand sagen, wie ichs ändern soll?
mfg HANSANO
 
Das eine Problem war, dass die function nicht mir 'return functionname();' aufgerufen wurde. Dann sidn die return-Werte sinnlos und es wird die Fehlermeldung ausgegeben, aber das Formular trotzdem abgesendet.

Zusätzlich hattest du das Formular nicht benannt! --> wurde also gar nicht überprüft.

Zugegriffen wird über document.Formularname.Feldname(.value)!

<html>
<head>
<SCRIPT type="text/javascript">
<!--
function senden() {

if(document.form.newemail.value.indexOf('@') == -1)
{
alert("Keine gueltige E-Mail-Adresse!");
document.form.newemail.focus();
return false;
}

else return true;
}
//-->
</SCRIPT>
</head>

<body>


<form name="form" action="newsletter_mailadd.php" method="POST" >
<input name="newemail" size="15" maxlength="255" value=" e-mail" style="font-family: Verdana; font-size: 10px; background-color: #C0C0C0; border-style: solid; border-width: 1">
<input type="submit" name="hinzufuegen" value="GO!" class="knoepfe" onclick="return senden();">
</form>
</body>
</html>
 
Jau!

:) Ich danke Dir auch!!! Funzt jetzt!

Kriegst sogar einen *schmatz* von mir! (Keine Angst, bin weiblich. ;))
 
Zurück
Oben