Я пытаюсь использовать модуль, называемый отказ от ответственности в Drupal 7, но Alert «Вы должны ввести год, в котором вы родились». Показывает дважды, а затем переходит к перенаправлению на URL-адрес, который вы не должны видеть до тех пор, пока не убедитесь, что вам больше 18.Предупреждение Javascript появляется дважды
Я пробовал предложения, и он все еще показывался дважды. Я думаю, что проблема может быть действием кнопки ввода. Вот для этого функция.
Drupal.behaviors.disclaimer = {
attach: function (context, settings) {
// action on enter button
$('#disclaimer_enter', context).click(function() {
var check = true;
// age form is set
if (settings.disclaimer.ageform == 1) {
var check = Drupal.checkAge();
}
// everything good, add cookie and close colorbox
if (check) {
$.cookie(settings.disclaimer.cookie_name, '1', { path: settings.disclaimer.cookie_path });
$.colorbox.remove();
}
});
},
};
}
Drupal.checkAge = function() {
var now = new Date();
var date = now.getDate();
var month = now.getMonth() + 1;
var year = now.getFullYear();
var optmonth = jQuery("#edit-disclaimer-age-month option:selected").val();
var optday = jQuery("#edit-disclaimer-age-day option:selected").val();
var optyear = jQuery("#edit-disclaimer-age-year option:selected").val();
var age = year - optyear;
if (optmonth > month) {age--;} else {if(optmonth == month && optday >= date) {age--;}}
// if current year, form not set
if (optyear == year) {
alert(Drupal.t("You must enter the year you were born in."));
return alert;
// if under age, alert and redirect !
} else if (age < Drupal.settings.disclaimer.limit) {
alert(Drupal.t("Sorry, you are Under age limit and are prohibited from entering this site!"));
location.replace(Drupal.settings.disclaimer.exiturl);
return false;
} else {
// age limit ok
return true;
}
}
для стартового 'return alert;', вероятно, не то, что вы хотите делать –