나는 출생일 생년월일을 필요로하는 등록을 만들고 있는데, 내 질문은 html로 월, 일 및 일의 드롭 다운 상자를 만드는 방법입니다. 그리고 나서 나중에 처리 할 것입니다 그 날을 데이터베이스에 삽입 할 PHP 스크립트에 넣으시겠습니까? 월, 일 및 요일에는 특정 월의 올바른 날짜가 있어야합니다.날짜, 월 및 연도 드롭 다운 상자
답변
편집 : Live demo
이 방법에 대해 :
<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
인수가 필요합니다. - 스크립트가 2 월에
mlength
을 계산할 때, 0 또는 1로 28로 캐스트되는 부울 (윤년의 간단한 체크)을 추가합니다. ECMAScript 5 엄격 모드에서는이 발생 및 예외가 발생합니다.
어떻게 날짜와 월을 mm와 dd 형식으로 변환 할 수 있습니까? 달을 위해 나는 선택 가치에서 01-12를 필요로하고 날짜를 위해 나는 선택 가치에서 01-31를 필요로한다. –
일반 텍스트 입력 만하십시오. 사람들이 자신의 생일을 correctlly 입력하여 입력하는 것을 신뢰하지 않는다면, 왜 선택 요소를 사용하면 어떤 차이가 있습니까? 기대하는 형식 만 말해주십시오.
<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>
당신은 그 선택에 일반 입력을 대체적인 버전 스크립트를 포함 할 수 있지만 연도를 선택 약 100 항목을, 당신은 그들 모두를 선택할 때까지 대기해야 할 것이다 합리적인 기간을 충당하기 위해
당신이 일을 넣을 수 있기 전에 년과 달. 적어도 위의 것은 당신에게 날짜의 유효성을 검사하는 간단한 알고리즘을 제공합니다.
그냥 드라이브 다운 투표를 좋아해. 의견이있는 투표를 취소 할 준비가되지 않았다면 무시됩니다. – RobG
- 1. PHP와 MySQL의 월 및 연도?
- 2. Mysql - 월 및 연도 수
- 3. 날짜 범위 당 동적 월 연도 열
- 4. JQuery Datpicker 스택 월 및 연도
- 5. 시스템 날짜 및 나누기 일, 월 및 연도
- 6. Mysql 데이터 월 및 연도
- 7. 레일 - 드롭 다운 (선택) 월/년
- 8. ISNULL 날짜 월
- 9. 날짜 열에 존재하는 월 및 연도 목록 일
- 10. iPhone : 월 및 연도 필드 만있는 날짜 선택 도구
- 11. 두 날짜 간의 연도 및 월 차이점을 찾는 방법은 무엇입니까?
- 12. 날짜와 별도로 일, 월 및 연도 검색
- 13. 다른 로케일로 연도, 월 및 일 추출
- 14. 월/연도 변경 날짜 필드 업데이트 - 기일 날짜 선택자
- 15. ajax 달력 익스텐더 컨트롤에 연도 및 월 드롭 다운 목록을 삽입하는 방법
- 16. 드롭 다운 상자 설정
- 17. 종속 드롭 다운 상자
- 18. 이미지 드롭 다운 상자
- 19. AJAX 캘린더 익스텐더 월 및 연도 선택
- 20. 날짜의 월 및 연도 값만 업데이트하는 방법?
- 21. 신용 카드 월 및 연도 선택 방법
- 22. Jquery UI 날짜 선택기 및 드롭 다운
- 23. cakephp 드롭 다운 상자 및 배열
- 24. 드롭 다운 및 그림 상자 통합
- 25. html, javascript의 월 선택 드롭 다운
- 26. MS 액세스 : 연도, 날짜 및 시간 필드를 날짜/시간으로 변환
- 27. 월/연도로 드롭 다운 목록을 채우십시오.
- 28. Django 모델 날짜 필드의 선택 연도/월/일
- 29. JQuery 날짜 범위를 드롭 다운 기준으로 제한
- 30. 드롭 다운 상자 인덱스 문제
[여기] (http://www.plus2net.com/php_tutorial/date-selection.php)의 예가 있습니다. –