E-mail formular prüfung

Status
Nicht offen für weitere Antworten.
Hi,

rufe deine Testfunktion im onsubmit-Event des Formulars auf.
HTML:
<form name="form1" method="post" action="mailto:f.marschall@aon.at"  onsubmit="return na_form_validation('form1', 'ENTER');" enctype="text/plain">
Ciao
Quaese
 
Was aber nicht mehr funktionieren dürfte, wenn JavaScript deaktiviert ist!
Falls Dir eine serverseitige Scriptsprache (z.B. PHP) zur Verfügung steht, dann wäre es sicherer, die Mail darüber zu versenden und dort zusätzlich eine Überprüfung einzubauen, ob das Feld leer ist oder nicht!

redlama
 
Du könntest den Bereich, der die Mail sendet in eine If-Anweisung legen.
Dann wird die Mail nur versendet, wenn die Anweisung erfüllt ist.
Wenn Du z.B. willst, dass in den Variablen $Firstname, $lastname, $title etwas enthalten sein muss, damit die Mail versendet wird, dann könnte das so aussehen:
PHP:
if($Firstname == "")
  echo "Bitte geben sie Ihren Vornamen ein!";
elseif($lastname == "")
  echo "Bitte geben sie Ihren Nachnamen ein!";
elseif($title == "")
  echo "Bitte geben sie einen Titel ein!";
else
{
  mail("$email", "$subject","


first name: $Firstname
lastname: $lastname
title: $title

	

","From: $from");


  echo "Formular versendet!";
}

redlama
 
Danke! so weit funktioniert es schon mal!
Eine Frage noch: ist es möglich, dass die Warnung in einem Alert bzw. PopUp Fenster erscheint?


flo
 
Ja, das ist möglich, wie ich bereits weiter oben erwähnte, aber nur dann, wenn JavaScript aktiviert ist.
Lege in Dein <form> forlgendes mit rein: "onsubmit="return Form1_Validator(this)" also ungefähr so:
HTML:
<form name="xyz" action="abc.php" method="post" onsubmit="return Form1_Validator(this)">
Und dann musst Du im selben Quelltext folgendes definieren:
HTML:
<script type="text/javascript">
<!--
function Form1_Validator(theForm)
{
  if(theForm.Firstname.value == "")
  {
    alert("Bitte geben sie Ihren Vornamen ein!");
    theForm.Firstname.focus();
    return (false);
  }
  if(theForm.lastname.value == "")
  {
    alert("Bitte geben sie Ihren Nachnamen ein!");
    theForm.lastname.focus();
    return (false);
  }
  if(theForm.title.value == "")
  {
    alert("Bitte geben sie einen Titel ein!");
    theForm.title.focus();
    return (false);
  }
  return (true);
}
//-->
</script>

redlama
 
Wenn hier gleich ein Thread dazu offen ist, in meinem wurde die Frage leider nicht mehr beantwortet.
Gibt es eine Möglichkeit, dass beim Absender nicht einfach "unknown" steht?

Mfg holzoepfael
 
Schau mal oben in den Quelltext, da steht in der Funktion mail() "From: $from".
Wenn Du da "From: holzoepfael <holzoepfael@holzoepfael.de>" angibst, dann dürfte in diesem Fall der Absender holzoepfael sein.

redlama
 
Status
Nicht offen für weitere Antworten.
Zurück