我正在創建註冊,我需要獲取用戶出生日期,我的問題是,如何在html中創建月,年和日的下拉框,然後再處理那些日子到一個PHP腳本,將其插入數據庫?月份,年份和日期應該有一個月的有效日期?日期,月份和年份下拉框
0
A
回答
4
編輯:
如何:
<select name="year"></select>
<select name="month">
<option value="1">January</option>
...
</select>
<select name="day"></select>
而且JS部分:
var ysel = document.getElementsByName("year")[0],
msel = document.getElementsByName("month")[0],
dsel = document.getElementsByName("day")[0];
for (var i = 2000; i >= 1950; i--) {
var opt = new Option();
opt.value = opt.text = i;
ysel.add(opt);
}
ysel.addEventListener("change", validate_date);
msel.addEventListener("change", validate_date);
function validate_date() {
var y = +ysel.value, m = msel.value, d = dsel.value;
if (m === "2")
var mlength = 28 + (!(y & 3) && ((y % 100)!==0 || !(y & 15)));
else var mlength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][m - 1];
dsel.length = 0;
for (var i = 1; i <= mlength; i++) {
var opt = new Option();
opt.value = opt.text = i;
if (i == d) opt.selected = true;
dsel.add(opt);
}
}
validate_date();
我將讓你在PHP的一部分工作。
幾個注意事項:
- 我用
addEventListener
。請記住,IE < 9使用attachEvent
代替。您可以使用onchange
屬性(不建議使用)或依賴jQuery等一些JS框架來完成這項工作:$(msel).change(validate_date);
。 - 在舊版本的Firefox中,
add
方法的<select>
元素很愚蠢,需要第二個參數null
。 - 當腳本計算
mlength
二月,它增加了一個布爾值(一個簡單的檢查爲閏年),這是鑄造爲0或1,至28。這就提出了在ECMAScript中5嚴格模式和異常。
+0
如何以mm和dd格式轉換日期和月份。對於月份我需要01-12在期權價值和日期我需要01-31在期權價值。 –
1
只要給他們一個純文本輸入。如果你不相信人們通過打字正確輸入他們的生日,爲什麼使用select元素會有所作爲?只要告訴他們你期望的格式。
例如
<script>
function validateDate(v) {
var bits = v.split('/');
var d = new Date(bits[2], --bits[1], bits[0]);
return d.getFullYear() == bits[2] && d.getMonth() == bits[1];
}
function validateForm(form) {
if (!validateDate(form.birthday.value)) {
alert('Birthday date is not a valid date');
return false;
}
}
</script>
<form onsubmit="return validateForm(this);" action="">
<div>Birthday (day/month/year): <input type="text" name="birthday">
<input type="submit">
</div>
</form>
您可以包括腳本verison替換與選擇普通的輸入,但是覆蓋在合理期限你必須在今年選擇約100項,那麼你就需要等待,直到他們都選擇一年和一個月才能投入日子。至少上面給出了一個驗證日期的簡單算法。
+0
只是喜歡開車倒推票。如果您不準備通過評論來支持您的投票,它將被忽略。 – RobG
相關問題
- 1. 日期選擇與日期,月份和年份單獨的框
- 2. 月份和年份的日期轉換
- 3. 添加年份,月份和日期C
- 4. 計算月份和年份的日期
- 5. 獲取系統日期和分割日期,月份和年份
- 6. LINQ如何按日期分組日期和月份和年份
- 7. 顯示日期,月份和年份代替當前的日期,月份和年份
- 8. datetime groupby/resample不同年份的月份和日期(下降年份)
- 9. 日期格式爲UTC月份日期和年份(MMM DD,YYYY)
- 10. Ember日期獲得月份,年份和日期
- 11. 從特定日期獲取日期,月份和年份
- 12. JAVA如何取日期並查看日期,月份和年份?
- 13. 從給定日期獲取月份,日期和年份
- 14. mysql:按年份和月份(無日期)如何做日期
- 15. 大於指定日期(日期,月份,年份)的日期
- 16. 如何獲得當前日期,月份,年份在斯卡拉
- 17. 月份和年份查看日曆
- 18. 帶月份和年份的不帶日期的日曆
- 19. 月份和年份的有效期限
- 20. 如何在給定年份和月份的星期日期PHP
- 21. 使用.NET比較日期與星期,月份和年份
- 22. 如何在xts中將數字年份月份轉換爲年份 - 月份 - 日期日期格式?
- 23. 從兩個相應的下拉列表中選擇月份和年份的日期和日期
- 24. javascript月份和日期和年份檢查
- 25. 日期範圍查詢忽略月份年份結束和年份開始
- 26. 以日期,月份,年份獲取不同的ISO日期
- 27. 從日期,月份,年份的最新日期
- 28. 檢索日期,月份,年份從日期在PHP
- 29. 的JavaScript生成年份和月份的下拉列表中
- 30. jQuery UI Datepicker - 月份和年份下拉列表
有一個例子[這裏](http://www.plus2net.com/php_tutorial/date-selection.php),告訴你該怎麼做。 –