我正在制作一个已编译的程序,其中包含许多类和jscripts。问题是代码有3个dropdownlist的月份,日期,年份。我需要删除日期一和passa静态“01”值。这里是为在javascript验证日期代码 -dropdownlist值未通过.net
function Validate_date(sender, args) {
var m = document.getElementById(sender.id.replace(/cv/, "m"));
var d = document.getElementById(sender.id.replace(/cv/, "d"));
var y = document.getElementById(sender.id.replace(/cv/, "y"));
if (isDate(m.value, d.value, y.value)){
var myDate = new Date();
myDate.setFullYear(y.value, m.value - 1, d.value);
var today = new Date();
today.setDate(today.getDate()-30);
args.IsValid = (myDate >= today);
}
else{
args.IsValid = false;
}
}
现在IsDate函数 -
function isDate(strMonth, strDay, strYear) {
if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1);
if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1);
for (var i = 1; i <= 3; i++) { if (strYear.charAt(0) == "0" && strYear.length > 1) strYear = strYear.substring(1); }
month = parseInt(strMonth);
day = parseInt(strDay);
year = parseInt(strYear);
if (strYear.length != 4 || year == 0) return false;
if (strMonth.length < 1 || month < 1 || month > 12) return false;
if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > DaysArray(12)[month]) return false;
return true;
}
问题是下拉列表当我给值=“01”,它崩溃在这条线 -
if (isDate(m.value, d.value, y.value)){ in the validate function
dropdownlist code -
<asp:DropDownList ID="EXP_d" runat="server" visible="false">
<asp:ListItem Value="01">DD<ListItem>
<asp:DropDownList>
我怎样才能从EXP_d(日期)dropdownlist传递静态值01?
为什么您的下拉列表中有一个名为'DD'的项目? – SLaks 2010-01-07 20:33:10