Ich habe Funktion prüfen dynamische Eingabefelder mit einer bestimmten Klasse. In diesen Feldern wird die E-Mail-Adresse verwendet, um zu prüfen, ob es sich um eine gültige E-Mail-Adresse handelt.Javascript-Funktion gibt undefined zurück, wie es nicht sein sollte
Es könnte viele E-Mail-Feld geben, wenn einer von ihnen gegen E-Mail-Adresse Test fehlschlägt, sollte es FALSE
zurückgeben, sonst sollte TRUE
zurückgeben. Endlich beim Senden geklickt save_form()
läuft. Wenn es false
wird, sollte es aufhören, sonst geht es weiter. Aber es wird immer "undefiniert".
Hier ist, was ich habe:
function validate_email_string(email_address) {
var emailReg=/^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
var emailTest = emailReg.test(email_address);
var result = (emailTest === false) ? false : true;
return result;
}
function validate_email_extensions(email_field_selector, message) {
var invalid_message = null;
if (typeof message !== "undefined") {
invalid_message = message;
} else {
invalid_message = '<?=lang("i18n_invalid_email_address");?>';
}
var email_fields_length = $(email_field_selector).length;
var is_valid = true;
if (email_fields_length) {
$(email_field_selector).each(function(index, el) {
if($(el).val()) {
if(!validate_email_string($(el).val())) {
is_valid = false;
}
if (index === email_fields_length - 1) {
if (is_valid === false) {
Interact.show(invalid_message);
}
return is_valid;
}
} else {
if (index === email_fields_length - 1) {
if (is_valid === false) {
Interact.show(invalid_message);
}
return is_valid;
}
}
});
} else {
return is_valid;
}
}
function save_form() {
var emails = validate_email_extensions('.jq-extension-email');
if(!emails){return false}
....
Aber validate_email_extensions
Funktion undefined zurück. Ich stelle console.log()
überall, wahrscheinlich ist es blind von mir, aber jede Hilfe wird sehr geschätzt.
@Hanky Panky Zuerst 'if' soll nichts zurückgeben :) Es ist nur für das Setzen einer Standardnachricht. Danke für den Beitrag trotzdem. – YahyaE
Ja, ich habe nicht richtig erwähnt, was zuerst dann erkannte ich, dass mehrdeutig sein kann, so entfernte ich den Kommentar und legte es in eine Antwort mit unterschiedlichem Inhalt –