2013-08-27 15 views
0

我正在做一個年齡驗證模式,我有點卡住了。什麼是基於Javascript中的用戶輸入設置Date()對象的正確方法

第4-7行我創建了一個javascript日期對象,並嘗試用月份,日期和年份來填充它,但是對於我來說顯而易見的是每一行5-7都覆蓋了前一個。

$('#tier3').change(function(){ 
    var tier1 = $('#tier1').find(":selected").text(); 
    var tier2 = $('#tier2').find(":selected").text(); 
    var tier3 = $('#tier3').find(":selected").text(); 
    var userDOB = new Date(); 
    userDOB.setMonth(tier1); 
    userDOB.setDate(tier2); 
    userDOB.setFullYear(tier3); 
    var now = Date.now(); 
    userAge = now - userDOB; 
    if(userAge >= 588591547188){ 
     set_popup_cookie(); 
     popup_wrapper.style.visibility="hidden"; 
    }else { 
     /* window.location = "http://www.smokefree.gov/"; */ 
    } 
}); 

我也試圖與

var userDOB = Date.parse(tier . " " . tier2 . ", " . tier3); 

代線4-7,但我得到了一個語法錯誤

+2

JavaScript中的串聯字符是'+'。 – JJJ

+0

當我使用硬編碼值運行JSFiddle時,它可以成功運行。也許與你的JQuery輸出有關? http://jsfiddle.net/f6aZ8/1/ – JonRed

回答

0

可以使用Date構造new Date(year, month, day [, hour, minute, second, millisecond]);

如下

var userDOB = new Date(tier3, tier2, tier1); 
var now = Date.now(); 
userAge = now - userDOB; 
if(userAge >= 588591547188){ 
    set_popup_cookie(); 
    popup_wrapper.style.visibility="hidden"; 
}else { 
    /* window.location = "http://www.smokefree.gov/"; */ 
} 

檢查tier3, tier2, tier1在計算年齡前具有預期值

+0

不工作。我的日期無效。頭部劃傷。 –

+0

@JackPilowsky您爲'tier3,tier2,tier1'獲得的價值是什麼? – Damith

+0

@JackPilowsky檢查這個http://jsfiddle.net/damithsw/dEQQ6/ – Damith

相關問題