YourWBB


yourWBB » yourWBB Misc * » Das Proggen » HTML, XHTML, JavaScript & CSS » JavaScript geht nicht!? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 4.509 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen JavaScript geht nicht!?
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Gespenst
unregistriert
Pfeil JavaScript geht nicht!? Antworten Zitieren Editieren Melden       UP

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!! smile

Gespenst
20.08.06 09:54
Shr522
Mitglied


images/avatars/avatar-1947.gif

Dabei seit: 13.08.04
Beiträge: 304

Antworten Zitieren Editieren Melden       UP

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 Shr522 ist offline E-Mail Finden Als Freund hinzufügen
Gespenst
unregistriert
Antworten Zitieren Editieren Melden       UP

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
Shr522
Mitglied


images/avatars/avatar-1947.gif

Dabei seit: 13.08.04
Beiträge: 304

Antworten Zitieren Editieren Melden       UP

Sry, hatte nur check gemacht... Mach wieder dein return check(); an die Stellt mit dem onsubmit
Edit: JS lässt sich aber übergehen - eine entsprechende Schranke in der php-Datei fänd ich weitaus sinnvoller!

__________________
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...

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Shr522: 20.08.06 13:38.

20.08.06 13:37 Shr522 ist offline E-Mail Finden Als Freund hinzufügen
Gespenst
unregistriert
Antworten Zitieren Editieren Melden       UP

<?

if (!empty($email))
{
echo Fehler! Bitte füllen Sie das E-Mail Feld aus!.;
}

if (empty($email))
{
echo "<html><head><title>E-Mail erfolgreich verschickt!</title></head><body><table><tr><td><font face="arial" size"1">
<b>Ihre E-Mail wurde erfolgreich verschickt!</b><br><br>Vielen Dank für Ihre E-Mail. Wir werden uns umgehend
an Sie wenden.<br>Unser Ziel ist es alle Mail in 24 Stunden zu beantworten. Vielen Dank,<br>Ihr Mustermann Firma
Support Team.</font></td></tr></table></body></html>";

<?
$empfaenger = "mail@mail.de";
$sendermail="Webmaster";
$betreff = "Neue Nachricht";
$text = "Hallo,\n
folgende Nachricht wurde über das Kontakt-Formular gesendet:\n\n
---------------------------------------------------\n
Vor- und Nachname: ". $_POST["Name"] ."\n
E-Mail-Adresse: ". $_POST["Email"] ."\n
Anschrift: ". $_POST["Anschrift"] ."\n
PZL und Ort: ". $_POST["PZLuOrt"] ."\n
Telefonnummer: ". $_POST["Tel"] ."\n
Faxnummer: ". $_POST["Fax"] ."\n
Betreff: ". $_POST["Betreff"] ."\n
---------------------------------------------------\n
". $_POST["text"] ."\n\n
---------------------------------------------------\n";
mail($empfaenger, $betreff, $text, "From: $sender <$sendermail>");
?>
}

?>


Geht nicht... Versagt

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Gespenst: 20.08.06 14:21.

20.08.06 14:20
Tropical Tropical ist männlich
Mitglied


Dabei seit: 28.11.04
Beiträge: 198
Herkunft: Wien
Forenversion: WBB 1.2/Light/2.1

Antworten Zitieren Editieren Melden       UP

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 Tropical ist offline E-Mail WWW Finden Als Freund hinzufügen MSN Passport-Profil von Tropical anzeigen
Schweinebacke Schweinebacke ist männlich
Mitglied


images/avatars/avatar-5303.jpg

Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg

Antworten Zitieren Editieren Melden       UP

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 Schweinebacke ist offline E-Mail Finden Als Freund hinzufügen
Gespenst
unregistriert
Antworten Zitieren Editieren Melden       UP

Hallo Schweinebacke,

kannst du dass einmal im meinem Formular einbauen?

Dateianhänge:
unknown send.php (1,09 KB, 1 mal heruntergeladen)
unknown mail.html (2 KB, 1 mal heruntergeladen)
20.08.06 15:13
Shr522
Mitglied


images/avatars/avatar-1947.gif

Dabei seit: 13.08.04
Beiträge: 304

Antworten Zitieren Editieren Melden       UP

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 Augenzwinkern
Das soll keine Kritik sein, fiel mir nur auf Augenzwinkern

__________________
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 Shr522 ist offline E-Mail Finden Als Freund hinzufügen
Schweinebacke Schweinebacke ist männlich
Mitglied


images/avatars/avatar-5303.jpg

Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg

Antworten Zitieren Editieren Melden       UP

kann ich machen.

Stellt sich die Frage ob du eine mail.html unbedingt möchtest. Wenn ja muss die entweder mail.php heißen oder die Prüfung findet erst in send.php statt.

Wo zu zwei Seiten, wenn’s eine auch tut.

Edit:

Zitat:
Das soll keine Kritik sein, fiel mir nur auf [Augenzwinkern]


Wir können uns nur wirklich weiterentwickeln, wenn wir mit Kritik umgehen können. (auch mit schlechter)

Danke für den Hinweis, werde das im Manual nachlesen. Bin noch kein Profi für PHP

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Schweinebacke: 20.08.06 17:51.

20.08.06 17:45 Schweinebacke ist offline E-Mail Finden Als Freund hinzufügen
Gespenst
unregistriert
Antworten Zitieren Editieren Melden       UP

Du kannst aus der mail.html eine mail.php machen nur bitte lasse es in denn zwei. Augenzwinkern
20.08.06 17:53
Schweinebacke Schweinebacke ist männlich
Mitglied


images/avatars/avatar-5303.jpg

Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg

Antworten Zitieren Editieren Melden       UP

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:
unknown mail.php (5,39 KB, 5 mal heruntergeladen)
21.08.06 15:12 Schweinebacke ist offline E-Mail Finden Als Freund hinzufügen
Gespenst
unregistriert
Antworten Zitieren Editieren Melden       UP

Freude Freude Freude Danke, so geht es auch. Freude
22.08.06 08:00
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » HTML, XHTML, JavaScript & CSS » JavaScript geht nicht!?