Hallo, ich möchte ein Formular prüfen, ob das Textfeld leer ist, und ob die eMail-Adresse vorhanden/korrekt ist. Bis jetzt habe ich das in zwei Funktionen, die ich über den gleichen Event-Handler starte. Bis jetzt ist der Fehler, dass wenn Text im Textfeld steht, eine fehlerhafte eMail-Adresse ignoriert wird, und trotzdem gesendet wird. Ich sollen aber erst beide Bedingungen erfüllt sein müssen, damit das Senden klappt. Ich finde nicht raus, wo der Fehler steckt.
MfG,
Mario
<script type="text/javascript">
function pruefen() {
var feld=window.document.Formular.Nachricht;
if(feld.value=="" || feld.value==feld.defaultValue) {
return false; }
}
</script>
<script type="text/javascript">
function checkEmail(Absender) {
var rx = /^([^\s@,:"<>]+)@([^\s@,:"<>]+\.[^\s@,:"<>.\d]{2,}|(\d{1,3}\.){3}\d{1,3})$/;
var part = Absender.value.match(rx);
var info = '';
if(part) info += '<'+part[1]+'@'+part[2]+'>';
else { info += '| Bitte prüfen Ihre eMail-Adresse.'; Absender.focus(); }
document.getElementById('checkEmail').innerHTML = info;
}
</script>
<form name="Formular" action=/cgi-bin/formmail method=post>
<input type=hidden name=email value="xx@xx.com"></input>
<input type=hidden name=url value="#"></input>
eMail *
<input type="text" name="Absender" id="input1" />
<textarea name="Nachricht" id="textfeld"></textarea>
<input type="submit" id="button1" value="Senden" onClick="checkEmail(this.form.Absender);return pruefen();"></input>|
<input type="reset" id="button2" value="Eintragungen löschen"></input><br/><br/>
</form>
<span id="checkEmail">| * erforderliche Angaben</span>