JavaScript geht nicht!? |
Gespenst unregistriert
|
|
Hallo,
mein Überprüfungs JavaScript geht nicht:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
|
<html><head>
<script language="javascript">
<!--
function setfocus() {
document.form1.email.focus();
}
// --></script>
<script>
function check()
{
var email=document.form1.email.value, betreff=document.form1.betreff.value, text=document.form1.text.value;
var cemail="",cbetreff="",ctext="";
if (email!="")
{
if (document.form1.email.value.indexOf('@',0)==-1 || document.form1.email.value.indexOf('.',0)==-1)
cemail="Die eingegebene E-Mail-Adresse ist nicht gültig!\n";
}
else
var cemail="Bitte geben Sie eine E-Mail-Adresse ein!\n";
if (betreff=="")
var cbetreff="Bitte geben Sie einen Betreff an!\n";
if (text=="")
var ctext="Bitte geben Sie einen Text an!\n";
if (cemail!="" || cbetreff!="" || ctext!="")
{
alert(cemail+cbetreff+ctext)
return false;
}
else
return true;
}
</script>
<title>Kontakt-Formular schreiben</title></head><body>
<table border="1" bordercolor="black"><form name="form1" onSubmit="return check()" action="send.php" method="post">
<tr><td colspan="2"><center><font face="arial" size="3"><b>Kontakt-Formular</b></font></center></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>Vor- und Nachname:</b></font></td><td><input type="text" size="32" maxlength="32" name="Name" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>E-Mail-Adresse:</b></font></td><td><input type="text" size="32" maxlength="32" name="Email" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>Anschrift:</b></font></td><td><input type="text" size="32" maxlength="32" name="Anschrift" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>PZL und Ort:</b></font></td><td><input type="text" size="32" maxlength="32" name="PZLuOrt" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>Telefonnummer:</b></font></td><td><input type="text" size="32" maxlength="32" name="Tel" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>Faxnummer:</b></font></td><td><input type="text" size="32" maxlength="32" name="Fax" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>Betreff:</b></font></td><td><input type="text" size="32" maxlength="32" name="Betreff" value=""></td></tr>
<tr><td colspan="2"><textarea cols="50" rows="12" name="text"></textarea></td></tr><tr><td colspan="2"><center><input type="submit" value="Nachricht absenden">
<input type="reset" VALUE="Alle Angaben löschen"></center></td></tr>
</table></body></html> |
|
Weiss einer was ich da falsch machen?
Danke im Vorraus!!
Gespenst
|
|
20.08.06 09:54 |
|
|
Shr522
Mitglied
Dabei seit: 13.08.04
Beiträge: 304
|
|
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
|
<html><head>
<script language="javascript">
<!--
function setfocus() {
document.form1.email.focus();
}
// --></script>
<script>
function check()
{
var email=document.form1.email.value, betreff=document.form1.betreff.value, text=document.form1.text.value;
var cemail="",cbetreff="",ctext="";
if (email!="")
{
if (document.form1.email.value.indexOf('@',0)==-1 || document.form1.email.value.indexOf('.',0)==-1)
cemail="Die eingegebene E-Mail-Adresse ist nicht gültig!\n";
}
else
var cemail="Bitte geben Sie eine E-Mail-Adresse ein!\n";
if (betreff=="")
var cbetreff="Bitte geben Sie einen Betreff an!\n";
if (text=="")
var ctext="Bitte geben Sie einen Text an!\n";
if (cemail!="" || cbetreff!="" || ctext!="")
{
alert(cemail+cbetreff+ctext)
return false;
}
else
return true;
}
</script>
<title>Kontakt-Formular schreiben</title></head>
<table border="1" bordercolor="black"><form name="form1" onSubmit="check()" action="send.php" method="post">
<tr><td colspan="2"><center><font face="arial" size="3"><b>Kontakt-Formular</b></font></center></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>Vor- und Nachname:</b></font></td><td><input type="text" size="32" maxlength="32" name="Name" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>E-Mail-Adresse:</b></font></td><td><input type="text" size="32" maxlength="32" name="email" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>Anschrift:</b></font></td><td><input type="text" size="32" maxlength="32" name="anschrift" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>PZL und Ort:</b></font></td><td><input type="text" size="32" maxlength="32" name="plzuort" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>Telefonnummer:</b></font></td><td><input type="text" size="32" maxlength="32" name="tel" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>Faxnummer:</b></font></td><td><input type="text" size="32" maxlength="32" name="bax" value=""></td></tr>
<tr><td width="200"><font face="arial" size="2"><b>Betreff:</b></font></td><td><input type="text" size="32" maxlength="32" name="betreff" value=""></td></tr>
<tr><td colspan="2"><textarea cols="50" rows="12" name="text"></textarea></td></tr><tr><td colspan="2"><center><input type="submit" value="Nachricht absenden">
<input type="reset" VALUE="Alle Angaben löschen"></center></td></tr>
</table></body></html>
|
|
JS ist Case-Sensitive. Groß- und Kleinschreibung beachten!
__________________ Wichtig:
{cssfile} oben links, Beim Editieren keine Absätze oder Compilation failed?!
Allgemeine Informationen über meine Beiträge:
Ich nehme mir vor allgemein nur Hilfestellung zu geben... Eine direkte Lösung führt, meiner Meinung nach, lediglich dazu, dass ich die nächste Frage hinauszögere...
|
|
20.08.06 11:00 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Gespenst unregistriert
|
|
Hallo,
danke für deine Hilfe!
Dass geht, aber wenn ich keine Mail Adresse angebe (oder keinen
Namen angebe) kommt die Meldung, aber danach springt er jedoch
auf die send.php weiter...
Kannst du mir dass nochmal richtig Coden?
Wäre nett!!
www.office-support-forum.de/test/mail.php
Gespenst
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Gespenst: 20.08.06 12:49.
|
|
20.08.06 12:44 |
|
|
Tropical
Mitglied
Dabei seit: 28.11.04
Beiträge: 198
Herkunft: Wien Forenversion: WBB 1.2/Light/2.1
|
|
Zitat: |
Original von Gespenst
if (!empty($email))
{
echo Fehler! Bitte füllen Sie das E-Mail Feld aus!.;
}
|
Ich übersetze mal:
if -> Wenn
! -> nicht
empty -> leer
Wenn also das E-Mail Feld nicht leer ist kommt ein Fehler das man dieses ausfüllen soll.
Das ist es bereits, weil es ja nicht leer ist. Deswegen ist deine Bedingung falsch.
Zweitens musst du wenn du einen String angibst Anführungszeichen nutzten. Entweder einfache (') oder doppelte (").
Drittens: Haben wir eine Glaskugel? Nein, die hat nur ShadowByte und auch der findet sie laut Signatur gerade nicht. Also sag, was genau der Fehler ist. (Nachdem du die ersten beiden Dinge erfüllt hast natürlich.)
|
|
20.08.06 15:01 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Schweinebacke
Mitglied
Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg
|
|
Hallo @Gespenst,
@Shr522 meint, das eine Überprüfung php-seiteig besser ist, da es vom User nicht deaktiviert werden kann.
Beispiel:
Im Formular die php-Abfrage <input type="text" name="name" value="<?php if ($name) {echo $name;} ?>"/>
Jetzt wird beim abschicken des Formulars auf dem Server über if (trim($name) == '') geprüft ob der Inhalt überein stimmt.
Wenn nicht gibt es eine Fehlermeldung an $msg
MusterFormular:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
|
<?php
if ($_POST) {
extract($_POST);
}
if ($return || $submit) {
if (trim($name) == '') {
$msg .= 'Bitte geben Sie Ihren Namen an.<br>';
}
if (trim($vorname) == '') {
$msg .= 'Bitte geben Sie Ihren Vornamen an.<br>';
}
if (trim($email) == '') {
$msg .= 'Bitte geben Sie Ihre E-Mail-Adresse an.<br>';
}
else {
$regex = '^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+\.)*([a-z0-9-]+)(\.[a-z]{2,4}))$';
if(!eregi($regex, $email)){
$msg .= 'Die E-Mail-Adresse ist nicht korrekt.<br>';
}
}
if (trim($anfrage) == '') {
$msg .= 'Bitte stellen Sie Ihre Anfrage.<br>';
}
$an = "me@home.de"; // Email-Adresse des Empfängers
$header = "From: $email\n";
$header .= "Reply-to: $email\n";
$header .= "Return-path: $email\n";
$body = "Anfrage\n\n";
$body .= "Name: ".$name."\n";
$body .= "Vorname: ".$vorname."\n";
$body .= "E-Mail: ".$email."\n";
if ($anfrage!="") {
$body .= "ANFRAGE:\n\n".$anfrage."\n\n";
}
$sub = "Anfrage von der Webseite";
if (!$msg) {
mail($an,$sub,$body,$header);
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Kontakt</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body bgcolor="#FFFFFF">
<form method=post action="<?php echo $PHP_SELF; ?>">
<h1>Kontakt</h1>
<?php
if ($msg) {
echo '<p><font color="#FF6600" size="+1">'.$msg.'</font></p>';
}
?>
<table border="0" cellpadding="3" cellspacing="0">
<tr>
<td><b>Name</b></td>
<td><input type="text" name="name" value="<?php if ($name) {echo $name;} ?>"/>
</td>
</tr>
<tr>
<td><b>Vorname</b> </td>
<td><input type="text" name="vorname" value="<?php if ($vorname) {echo $vorname;} ?>"/>
</td>
</tr>
<tr>
<td><b>E-Mail</b> </td>
<td><input type="text" name="email" value="<?php if ($email) {echo $email;} ?>"/>
</td>
</tr>
<tr>
<td colspan="2"><br><b>Anfrage</b><br />
<textarea name="anfrage" cols="50" rows="10"><?php if ($anfrage) {echo $anfrage;} ?></textarea></td>
</tr>
<tr><td colspan="2"><br>
<input name="Submit" type="submit" value="Abschicken" />
<input type="hidden" name="return" value="ok"></td></tr>
</table>
</form>
</body>
</html> |
|
|
|
20.08.06 15:06 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Gespenst unregistriert
|
|
Hallo Schweinebacke,
kannst du dass einmal im meinem Formular einbauen?
Dateianhänge: |
send.php (1,09 KB, 1 mal heruntergeladen) mail.html (2 KB, 1 mal heruntergeladen)
|
|
|
20.08.06 15:13 |
|
|
Shr522
Mitglied
Dabei seit: 13.08.04
Beiträge: 304
|
|
Hi nochmal,
ich würde dir empfehlen dich etwas mehr mit der Materie auseinander zu setzen, Schweinebacke hat dir eien gute Vorlage geliefert, die du nur noch anpassen musst...
@ Schweinebacke: Ich würde immer preg_match benutzen statt eregi. laut php.net Performancevorteile und Vorgänger...
Außerdem hätte ich eine <ul> gemacht, statt die Fehlermeldungen nur aneinander zu reihen, aber das ist natürlich Geschmackssache
Das soll keine Kritik sein, fiel mir nur auf
__________________ Wichtig:
{cssfile} oben links, Beim Editieren keine Absätze oder Compilation failed?!
Allgemeine Informationen über meine Beiträge:
Ich nehme mir vor allgemein nur Hilfestellung zu geben... Eine direkte Lösung führt, meiner Meinung nach, lediglich dazu, dass ich die nächste Frage hinauszögere...
|
|
20.08.06 17:39 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Gespenst unregistriert
|
|
Du kannst aus der mail.html eine mail.php machen nur bitte lasse es in denn zwei.
|
|
20.08.06 17:53 |
|
|
Schweinebacke
Mitglied
Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg
|
|
irgend wie will das nicht so mit den zwei verschiedenen Seiten.
Da mache ich bei der Abfrage wohl ein Gedankenfehler. Kann aber noch werden.
Vorab die mail.php mit allem drin. Wenn es so reicht, dann melde dich.
Ach ja – deine E-Mailadresse musst du wieder reinschreiben. Habe die nicht drin, für den Fall, das es jemand auf seinen Server lädt (steht „hier ändern“ dran).
Dateianhang: |
mail.php (5,39 KB, 5 mal heruntergeladen)
|
|
|
21.08.06 15:12 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Gespenst unregistriert
|
|
|
22.08.06 08:00 |
|
|
|