ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
339
339
EMPFEHLEN
-
Hallo
Ich habe auf meiner Privaten Website eine kleines Formular, wo ich gerne die Eingabefelder "Nachricht", "Name", "eMail" überprüfen lassen möchte, das diese auch ausgefüllt werden.
Nun habe ich folgendes Java, dass aber nicht richtig funktioniert und komme hier mit dem Javascript nicht weiter. Also die überprüfung der Felder "Nachricht" und "Name" funktioniert, aber die Überprüfung der "Email" geht nicht richtig.
Wenn ich z.B. bei dem Fomular als eMail "test@test" eingebe, kommt keine Meldung. Es sollte doch aber die Meldung: "Bitte geben Sie eine gültige E-Mail-Adresse ein!" kommen?
Wenn ich gar keine eMail Eingebe, kommt die Meldung:
Bitte füllen Sie folgende Felder aus:
- eMail
Stimmt der "emailfilter" nicht? Oder was ist hier Falsch?
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 52 53 54 55 56 57 58 59 60 61 62 63 64
// JavaScript Document function formCheck(formobj){ // Enter name of mandatory fields var fieldRequired = Array("Nachricht", "Name", "eMail"); // Enter field description to appear in the dialog box var fieldDescription = Array("Nachricht", "Name", "eMail"); // dialog message var alertMsg = "Bitte füllen Sie folgende Felder aus:\n"; var l_Msg = alertMsg.length; for (var i = 0; i < fieldRequired.length; i++){ var obj = formobj.elements[fieldRequired[i]]; if (obj){ switch(obj.type){ case "select-one": if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; case "select-multiple": if (obj.selectedIndex == -1){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; case "text": case "textarea": if (obj.value == "" || obj.value == null){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; default: } if (obj.type == undefined){ var blnchecked = false; for (var j = 0; j < obj.length; j++){ if (obj[j].checked){ blnchecked = true; } } if (!blnchecked){ alertMsg += " - " + fieldDescription[i] + "\n"; } } } } if (alertMsg.length == l_Msg){ return true; }else{ alert(alertMsg); return false; } } var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i function checkmail(e){ var returnval=emailfilter.test(e.value); if (returnval==false){ alert("Bitte geben Sie eine gültige E-Mail-Adresse ein!"); e.select(); } return returnval; }
HTML-Code:<form accept-charset="utf-8" id="kontaktform" method="post" action="phpmailer/phpmail.php" onsubmit="javascript:return formCheck(this);" >
Edit: Wenn ich bei der eMail nur ein Leerschlag eingebe, kommt auch keine Meldung, und das Formular wird versendet. Vielleicht gibt es ja auch eine bessere Java Script Variante.Geändert von Chrisi (01.12.11 um 15:09 Uhr)
-
Hi Chrisi,
Willkommen bei tutorials.de!
Also ich hätte ne andere - aber auch nicht perfekte und ziemlich strenge RegEx:
Code javascript:1 2 3 4 5 6 7 8
var emailfilter = new RegExp("^[0-9a-zA-Z+\\-*/=?\\^'!%&#_~{|}$`]" + "([0-9a-zA-Z+\\-*/=?\\^'!%&#_~{|}$`.]?" + "[0-9a-zA-Z+\\-*/=?\\^'!%&#_~{|}$`])*" + "@" + "[a-zA-Z]" + "([a-zA-Z\\-.]?" + "[a-zA-Z])*" + "\\.[a-zA-Z]{2,3}$");
Ähnliche Themen
-
[jQuery] - Problem bei Formular Validierung
Von sonicks im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 16.03.10, 21:22 -
Formular Validierung die 1000ste
Von ropueh im Forum Javascript & AjaxAntworten: 5Letzter Beitrag: 04.03.10, 17:35 -
PHP-Formular Validierung der Email
Von claus0001 im Forum PHPAntworten: 5Letzter Beitrag: 14.08.09, 13:02 -
Formular-Validierung
Von Neurodeamon im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 11.05.06, 01:51 -
Formular Validierung
Von riddla im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 16.12.05, 01:14





Zitieren
Login





