New Member
Posts: 12
Joined: Dec 2005
|
i have a problem tu edit this prg when user input the date lee than today so the prompt meg will appear auto 'user cannot enter value less than today'. please someone help me with this coding function checkdate(objName) { var datefield = objName; if (chkdate(objName) == false ) { datefield.select(); alert("That date is invalid!!!. Please try again."); datefield.focus(); return false; } else { return true; } } function chkdate(objName) { var currentDate = new Date(); a=currentDate.getYear(); b=currentDate.getMonth(); c=currentDate.getDate(); //var strDatestyle = "US"; //United States date style var strDatestyle = "EU"; //European date style var strDate; var strDateArray; var strDay; var strMonth; var strYear; var intday; var intMonth; var intYear; var booFound = false; var datefield = objName; var strSeparatorArray = new Array("-"," ","/","."); var intElementNr; var err = 0; var strMonthArray = new Array(12); d = (c - intday); strMonthArray[0] = "Jan"; strMonthArray[1] = "Feb"; strMonthArray[2] = "Mar"; strMonthArray[3] = "Apr"; strMonthArray[4] = "May"; strMonthArray[5] = "Jun"; strMonthArray[6] = "Jul"; strMonthArray[7] = "Aug"; strMonthArray[8] = "Sep"; strMonthArray[9] = "Oct"; strMonthArray[10] = "Nov"; strMonthArray[11] = "Dec"; strDate = datefield.value; if (strDate.length < 6) { if (strDate.length >=1) { alert("That date is invalid. Please try again."); datefield.select(); datefield.focus(); } return true; } for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) { if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) { strDateArray = strDate.split(strSeparatorArray[intElementNr]); if (strDateArray.length != 3) { err = 1; return false; } else { strDay = strDateArray[0]; strMonth = strDateArray[1]; strYear = strDateArray[2]; } booFound = true; } } if (booFound == false) { if (strDate.length>5) { strDay = strDate.substr(0, 2); strMonth = strDate.substr(2, 2); strYear = strDate.substr(4) ; } } if (strYear.length == 2) { strYear = '20' + strYear; } // US style if (strDatestyle == "US") { strTemp = strDay; strDay = strMonth; strMonth = strTemp; } intday = parseInt(strDay, 10); if (isNaN(intday)) { err = 2; return false; } intMonth = parseInt(strMonth, 10); if (isNaN(intMonth)) { for (i = 0;i<12;i++) { if (strMonth.toUpperCase() == strMonthArray.toUpperCase()) { intMonth = i+1; strMonth = strMonthArray; i = 12; } } if (isNaN(intMonth)) { err = 3; return false; } } intYear = parseInt(strYear, 10); if (isNaN(intYear)) { err = 4; return false; } if (intMonth>12 || intMonth<1) { err = 5; return false; } if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) { err = 6; return false; } if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) { err = 7; return false; } if (intMonth == 2) { if (intday < 1) { err = 8; return false; } if (LeapYear(intYear) == true) { if (intday > 29) { err = 9; return false; } } else { if (intday > 28) { err = 10; return false; } } } if (strDatestyle == "US") { datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear; } else { datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear; } if (intYear < a ) { alert("The date is invalid1") return false; } else if (intYear >= a ) { if (intMonth > b) { //alert("the date invalid 123344") return true; } else if (intMonth = b) { return true; } else { alert("the date invalid 1233344444") return false; } //return true; } return true; } function LeapYear(intYear) { if (intYear % 100 == 0) { if (intYear % 400 == 0) { return true; } } else { if ((intYear % 4) == 0) { return true; } } return false; } function doDateCheck(from, to) { if (Date.parse(from.value) <= Date.parse(to.value)) { alert("The dates are valid."); } else { if (from.value == "" || to.value == "") alert("Both dates must be entered."); else alert("To date must occur after the from date."); } } ct
This message was edited by ctman10 on 12-19-05 @ 5:44 AM
|