<asp:textbox id="txtHMark2" MaxLength="50" runat="server" Width="80" Text='<%# DataBinder.Eval(Container.DataItem, "HMark2") %>' />
<br/><asp:CompareValidator ID="valHMark2" runat="server" Operator="DataTypeCheck" Type="Date" ControlToValidate="txtHMark2" Display="dynamic">
YYYY/MM/DD形式不正确</asp:CompareValidator>function H2_Change()
{
var groupnames=document.getElementsByTagName('input');
var spans=document.getElementsByTagName('span');
var groupname='';
for(var i=0; i<groupnames.length; i++)
{
if(groupnames[i].id.indexOf('txtHMark2') > 0)
{
groupname=groupnames[i].value;
groupname=groupname.split("/");
var dd2=new Date(groupname[0],groupname[1],groupname[2]);
var currentDate=document.getElementById("labDate").value;//当前页面日期
currentDate=currentDate.split("/");
var dd1=new Date(currentDate[0],currentDate[1],currentDate[2]);
if((dd2.getDate()-dd1.getDate())==1||(dd2.getDate()-dd1.getDate())==2||(dd2.getDate()-dd1.getDate())==3)
{
groupname=groupnames[i].value;
}
else
{
}
}
}
}现在的问题是:能不能不在js里面写验证,直接在控件那个地方进行操作,实现:那个input里面输入的日期只能是当前,后1天,后2天,后3天,一旦不是这四个日期,就提示错误!如果只能在js里面写,又该如何写呢?我上面的js里面写的不是很正确,求指导!CompareValidator,日期
<br/><asp:CompareValidator ID="valHMark2" runat="server" Operator="DataTypeCheck" Type="Date" ControlToValidate="txtHMark2" Display="dynamic">
YYYY/MM/DD形式不正确</asp:CompareValidator>function H2_Change()
{
var groupnames=document.getElementsByTagName('input');
var spans=document.getElementsByTagName('span');
var groupname='';
for(var i=0; i<groupnames.length; i++)
{
if(groupnames[i].id.indexOf('txtHMark2') > 0)
{
groupname=groupnames[i].value;
groupname=groupname.split("/");
var dd2=new Date(groupname[0],groupname[1],groupname[2]);
var currentDate=document.getElementById("labDate").value;//当前页面日期
currentDate=currentDate.split("/");
var dd1=new Date(currentDate[0],currentDate[1],currentDate[2]);
if((dd2.getDate()-dd1.getDate())==1||(dd2.getDate()-dd1.getDate())==2||(dd2.getDate()-dd1.getDate())==3)
{
groupname=groupnames[i].value;
}
else
{
}
}
}
}现在的问题是:能不能不在js里面写验证,直接在控件那个地方进行操作,实现:那个input里面输入的日期只能是当前,后1天,后2天,后3天,一旦不是这四个日期,就提示错误!如果只能在js里面写,又该如何写呢?我上面的js里面写的不是很正确,求指导!CompareValidator,日期
function getDates( d ){
if(typeof d=='string')d=d.match(/\d+/g),d=new Date(d[0],d[1]-1,d[2]);
return parseInt(d/864E5);
}
var now=getDates(new Date());
var v=getDates('2013-10-5')-now //日差
if( v >0 && v<3 ){
alert('ok')
}else{
alert('error')
}