Beitrag von andy65 . Andy65 bitte eröffne für dein Problem ein eigenes und neues Thema !
Hi,
könnte jemand mal auf dieses Script schauen und mir sagen warum die Checkbox "datenschutz" beim aktivieren nicht funktioniert?
Kurze Erklärung: Wenn das Häkchen nicht gesetzt wurde, kommt der Text mit der Fehlermeldung... wenn das Häkchen gesetzt wurde kann man das Formular abschicken...
Ich habe mir schon die Augen "wundgeschaut" aber ich finde meinen Fehler einfach nicht...
Vorab schon mal vielen Dank!
Hier das Script:
JavaScript
(function($) {
initialize();
function initialize() {
$(".submit-button").on("click", handleSubmitButtonClick);
checkObjectNumber();
}
function handleSubmitButtonClick() {
if (!validate()) {
return;
}
var salutation = "";
if ($("#male").is(":checked")) {
salutation = "Herr";
} else if ($("#female").is(":checked")) {
salutation = "Frau";
}
var YES = "Ja",
NO = "Nein";
var data = {
action: "contact",
args: JSON.stringify({
salutation: salutation,
firstname: $("#firstname").val(),
lastname: $("#lastname").val(),
company: $("#company").val(),
street: $("#street").val(),
street_number: $("#street-number").val(),
zip_code: $("#zip-code").val(),
location: $("#location").val(),
telephone_number_1: $("#telephone-number-1").val(),
telephone_number_2: $("#telephone-number-2").val(),
fax_number_1: $("#fax-number-1").val(),
fax_number_2: $("#fax-number-2").val(),
email: $("#e-mail").val(),
object_number: $("#object-number").val(),
message: $("#message").val(),
contact_via_email: $("#contact-via-e-mail").is(":checked") ? YES : NO,
contact_via_telephone: $("#contact-via-phone").is(":checked") ? YES : NO,
contact_via_fax: $("#contact-via-fax").is(":checked") ? YES : NO,
contact_via_mail: $("#contact-via-mail").is(":checked") ? YES : NO,
datenschutz: $("#datenschutz").is(":checked") ? YES : NO,
})
};
$.ajax({
type: "POST",
url: ajaxURL,
data: data
})
.done(handleResult);
}
function handleResult(message) {
try {
if (message.status == "ok") {
alert("Ihre Anfrage wurde versandt.");
}
else if (message.status = "error") {
alert("Es ist ein Fehler aufgetreten.");
}
} catch (exception) {}
}
function validate() {
var INVALID = "invalid",
valid = true,
$contactLabel = $("#contact-label"),
$contactViaEMail = $("#contact-via-e-mail"),
$contactViaTelephone = $("#contact-via-phone"),
$contactViaFax = $("#contact-via-fax"),
$contactViaMail = $("#contact-via-mail"),
$firstname = $("#firstname"),
$firstnameLabel = $("#firstname-label"),
$lastname = $("#lastname"),
$lastnameLabel = $("#lastname-label"),
$company = $("#company"),
$companyLabel = $("#company-label"),
$email = $("#e-mail"),
$emailLabel = $("#e-mail-label"),
$datenschutz = $("#datenschutz"),
$datenschutzLabel = $("#datenschutz-label");
if (!$contactViaEMail.is(":checked") &&
!$contactViaTelephone.is(":checked") &&
!$contactViaFax.is(":checked") &&
!$contactViaMail.is(":checked")) {
valid = false;
$contactLabel.addClass(INVALID);
$contactLabel.html("Bitte wählen Sie aus, wie wir Sie kontaktieren sollen:");
} else {
$contactLabel.removeClass(INVALID);
$contactLabel.html("Kontakt via: *");
}
if (!$datenschutzLabel.is(":checked")) {
valid = false;
$datenschutzLabel.addClass(INVALID);
$datenschutzLabel.html("Bitte bestätigen Sie, dass Sie mit der Speicherung Ihrer Daten einverstanden sind.");
} else {
$datenschutzLabel.removeClass(INVALID);
$datenschutzLabel.html("Durch das Absenden dieser E-Mail erkläre ich, dass ich die Datenschutzerklärung gelesen habe und damit einverstanden bin. *");
}
if ($firstname.val() == "") {
valid = false;
$firstnameLabel.addClass(INVALID);
$firstnameLabel.html("Bitte geben Sie einen Vornamen ein:");
} else {
$firstnameLabel.removeClass(INVALID);
$firstnameLabel.html("Vorname: *");
}
if ($lastname.val() == "") {
valid = false;
$lastnameLabel.addClass(INVALID);
$lastnameLabel.html("Bitte geben Sie einen Namen ein:");
} else {
$lastnameLabel.removeClass(INVALID);
$lastnameLabel.html("Name: *");
}
if ($company.val() == "") {
valid = false;
$companyLabel.addClass(INVALID);
$companyLabel.html("Bitte geben Sie eine Firma ein:");
} else {
$companyLabel.removeClass(INVALID);
$companyLabel.html("Firma: *");
}
if ($email.val() == "") {
valid = false;
$emailLabel.addClass(INVALID);
$emailLabel.html("Bitte geben Sie eine E-Mail-Adresse ein:");
} else {
$emailLabel.removeClass(INVALID);
$emailLabel.html("E-Mail-Adresse: *");
}
return valid;
}
function checkObjectNumber() {
var objectNumber = decodeURIComponent(window.location.search.replace("?objektnummer=", ""));
if (objectNumber != "") {
$("#object-number").val(objectNumber);
}
}
})(jQuery);
Alles anzeigen