Ich habe Probleme beim Validieren eines HTML-Formulars mit JavaScript. Für sich alleine arbeiten sie, aber zusammen nicht.Wie bekomme ich zwei JavaScript-Verweise auf dasselbe HTML-Formular?
Dies funktioniert:
// Make sure the e-mail address is valid
function validateEmail(mailform,email) {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = document.forms[mailform].elements[email].value;
if(reg.test(address) == false) {
alert('E-mail not valid');
return false;
}
}
Attribut in der Form:
onsubmit="javascript:return validateEmail('mailform', 'email');"
Und das funktioniert:
// Make sure the message is long enough
function validateBody(mailform,mailbody) {
var msg = document.forms[mailform].elements[mailbody].value.length;
if (msg < 3) {
alert('Too hort');
return false;
}
}
Attribut in der Form:
onsubmit="javascript:return validateBody('mailform', 'mailbody');"
Aber das funktioniert nicht:
// Make sure the e-mail address is valid AND that the message is long enough
function validateForm(mailform,email,mailbody) {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = document.forms[mailform].elements[email].value;
var msg = document.forms[mailform].elements[mailbody].value.length;
if(reg.test(address) == false) {
alert('Please enter a valid e-mail address');
return false;
} else if (msg < 3) {
alert('Text too hort');
return false;
}
}
Attribut in der Form:
onsubmit="javascript:return validateForm('mailform', 'email', 'mailbody');"
Warum?
Wie ich schon sagte, sie arbeiten jede für sich, aber auch als unterschiedliche Funktionen funktionieren sie nicht zusammen.
Woher kommt 'mailform' in Ihrem zweiten Beispiel? Und Sie verwenden nie den Parameter 'email' ... – RedFilter
Wie funktionieren sie nicht: Sie fangen keine Fehler oder sie reichen keine korrekte Eingabe ein? Erhalten Sie Javascriptfehler? – kontur
Ich bekomme keine Fehler. Es reagiert nicht auf "korrekte" Eingabe. (Ja, ich bin neu in JavaScript.) Ja, ich verwende 'email' ... 'mailform' kommt von