Javascript age gate在Chrome上不工作,在Firefox(即Safari)中很好
我正试图修复/重新设计一个网站,但我不可能找出问题所在。这是一个年龄门,有三个输入日(直径)、月(mes)和年(anyo)以及一个发送按钮(#btn_entra)。它在Firefox、Safari和Explorer上运行得非常好,但在Chrome中,当用户年龄小于18岁时,它会忽略所有内容并加载#page2,而不会显示警报。我一直在阅读,我想可能是.click(function()部分,但我就是搞不懂(我只是在学习javascript)。下面是代码:Javascript age gate在Chrome上不工作,在Firefox(即Safari)中很好,javascript,google-chrome,Javascript,Google Chrome,我正试图修复/重新设计一个网站,但我不可能找出问题所在。这是一个年龄门,有三个输入日(直径)、月(mes)和年(anyo)以及一个发送按钮(#btn_entra)。它在Firefox、Safari和Explorer上运行得非常好,但在Chrome中,当用户年龄小于18岁时,它会忽略所有内容并加载#page2,而不会显示警报。我一直在阅读,我想可能是.click(function()部分,但我就是搞不懂(我只是在学习javascript)。下面是代码: $('#btn_entrar').click
$('#btn_entrar').click(function() {
var dia=("0" + $("#dia").val()).slice (-2);
var mes=("0" + $("#mes").val()).slice (-2);
var anyo=("000" + $("#anyo").val()).slice (-4);
var fecha_nac=dia+'/'+mes+'/'+anyo;
var curr = new Date();
var txtVal = mes+'/'+dia+'/'+anyo;
if (anyo<1900) { alert("Fecha no válida."); exit(); }
if (isDate(txtVal)==false) { alert("Fecha no válida."); exit(); }
curr.setFullYear(curr.getFullYear() - 18);
var dob = Date.parse(fecha_nac);
if((curr-dob)<0)
{
alert("Se requiere tener más de 18 años para acceder a la web.");
}
else
{
$('#page1').delay(0).fadeOut(1500);
// Cargar pagina 2
$('#page2').delay(1300).fadeIn(1500);
$('#cabecera').delay(1000).fadeIn(1500); // mostrar avioneta
}
});
$('btn_entra')。单击(函数(){
变量直径=(“0”+$(“#直径”).val()).slice(-2);
var mes=(“0”+$(“#mes”).val()).slice(-2);
var anyo=(“000”+$(“#anyo”).val()).slice(-4);
变量fecha_nac=dia+'/'+mes+'/'+anyo;
var curr=新日期();
var txtVal=mes+'/'+dia+'/'+anyo;
如果(anyo)这可能是区域设置问题。请尝试使用类似的方法,而不是使用Date.Parse()
anyo = int.Parse(anyo, 10);
mes = int.Parse(mes, 10);
dia = int.Parse(dia, 10);
var dob = new Date(anyo, mes - 1, dia);
相反
请注意mes-1
,日期(年、月、日)
构造函数从0-11开始计算月数,而不是1-12!您是否检查了chrome控制台是否有任何错误?无论如何,您是否可以创建一个小提琴?什么是exit()
字符串day/month/year将不会像您预期的那样工作。没有chrome错误。它在我的测试服务器上