您的位置:首页 > Web前端 > JavaScript

JavaScript 引用c#控件变量 同 隐藏自定义控件提示

2010-06-09 11:02 316 查看
下面贴一个困扰我一个星期的问题

虽然我现在解决了 但是还是用生硬的方法解决的 先贴下

图片上传不了 写一下算了

是用 两个textbox记录开始同结束的日期 四个combobox记录开始结束的小时数和分钟数

想不管六个控件的任何一个变动 都可以出发验证

我用的是 自定义验证

六个控件绑定了六个验证控件 但是这样有个问题 就是有六个重复的验证提示

困扰了我许久

<mce:script type="text/javascript"><!--

var globals = {};
globals.controlIdentities = {};
globals.controlIdentities.txtStartDate = '<%=txtStartDate.ClientID %>';
globals.controlIdentities.txtEndDate = '<%=txtEndDate.ClientID %>';
globals.controlIdentities.ddlHourFrom = '<%=ddlHourFrom.ClientID %>';
globals.controlIdentities.ddlHourTo = '<%=ddlHourTo.ClientID %>';
globals.controlIdentities.ddlMinuteFrom = '<%=ddlMinuteFrom.ClientID %>';
globals.controlIdentities.ddlMinuteTo = '<%=ddlMinuteTo.ClientID %>';
globals.controlIdentities.cvCompareDateFrom = '<%=cvCompareDateFrom.ClientID %>';
globals.controlIdentities.cvCompareHourFrom = '<%=cvCompareHourFrom.ClientID %>';
globals.controlIdentities.cvCompareMinFrom = '<%=cvCompareMinFrom.ClientID %>';

globals.controlIdentities.cvCompareDateTo = '<%=cvCompareDateTo.ClientID %>';
globals.controlIdentities.cvCompareHourTo = '<%=cvCompareHourTo.ClientID %>';
globals.controlIdentities.cvCompareMinTo = '<%=cvCompareMinTo.ClientID %>';
// --></mce:script>


首先在html页面定义六个JavaScript的全局变量(代码贴的不止六个)

之后呢 在JavaScript的文件上面引用即可

var HourFrom = document.getElementById(globals.controlIdentities.ddlHourFrom).value;
var HourTo = document.getElementById(globals.controlIdentities.ddlHourTo).value;
var MinuteFrom = document.getElementById(globals.controlIdentities.ddlMinuteFrom).value;
var MinuteTo = document.getElementById(globals.controlIdentities.ddlMinuteTo).value;

var CompareDateFrom= document.getElementById(globals.controlIdentities.cvCompareDateFrom);
var CompareHourFrom= document.getElementById(globals.controlIdentities.cvCompareHourFrom);
var CompareMinFrom= document.getElementById(globals.controlIdentities.cvCompareMinFrom);
var CompareDateTo= document.getElementById(globals.controlIdentities.cvCompareDateTo);
var CompareHourTo= document.getElementById(globals.controlIdentities.cvCompareHourTo);
var CompareMinTo= document.getElementById(globals.controlIdentities.cvCompareMinTo);


这样就可以引用到控件中的变量了

跑题了

六个控件的重复提示问题 首先可以把它隐藏掉

CompareDateFrom.style.display="none";
CompareHourFrom.style.display="none";
CompareMinFrom.style.display="none";
CompareDateTo.style.display="none";
CompareHourTo.style.display="none";
CompareMinTo.style.display="none";


这后写怎么写就怎么写了 控件会根据 args.IsValid=false/true 在次出现提示 但就只有一条了

贴下完整的 备份用

//比较开始同结束日期的大小
function CompareDate(oSrc,args)
{

var mSeparator=document.getElementById('Hid_Date_Separator').value;
var DateType=document.getElementById('Hid_Date_Display').value;

var StartDate;
var SD=document.getElementById(globals.controlIdentities.txtStartDate);
if (SD!=null) StartDate=SD.value;

var EndDate;
var ED= document.getElementById(globals.controlIdentities.txtEndDate);
if (ED!=null) EndDate=ED.value;

var HourFrom = document.getElementById(globals.controlIdentities.ddlHourFrom).value; var HourTo = document.getElementById(globals.controlIdentities.ddlHourTo).value; var MinuteFrom = document.getElementById(globals.controlIdentities.ddlMinuteFrom).value; var MinuteTo = document.getElementById(globals.controlIdentities.ddlMinuteTo).value; var CompareDateFrom= document.getElementById(globals.controlIdentities.cvCompareDateFrom); var CompareHourFrom= document.getElementById(globals.controlIdentities.cvCompareHourFrom); var CompareMinFrom= document.getElementById(globals.controlIdentities.cvCompareMinFrom); var CompareDateTo= document.getElementById(globals.controlIdentities.cvCompareDateTo); var CompareHourTo= document.getElementById(globals.controlIdentities.cvCompareHourTo); var CompareMinTo= document.getElementById(globals.controlIdentities.cvCompareMinTo);
CompareDateFrom.style.display="none"; CompareHourFrom.style.display="none"; CompareMinFrom.style.display="none"; CompareDateTo.style.display="none"; CompareHourTo.style.display="none"; CompareMinTo.style.display="none";

if ((StartDate=="")||(EndDate==""))
{
return ;
}

if ((chkDatefunction(StartDate)==false)||(chkDatefunction(EndDate)==false))
{return ;
}

var yLocation=DateType.indexOf("y");
var MLocation=DateType.indexOf("M");
var dLocation=DateType.indexOf("d");
var ytimes=chkTimes(DateType,"y");
var Mtimes=chkTimes(DateType,"M");
var dtimes=chkTimes(DateType,"d");

var StartYear=StartDate.substr(yLocation,ytimes);
var StartMonth=StartDate.substr(MLocation,Mtimes);
var StartDay=StartDate.substr(dLocation,dtimes);

var EndYear=EndDate.substr(yLocation,ytimes);
var EndMonth=EndDate.substr(MLocation,Mtimes);
var EndDay=EndDate.substr(dLocation,dtimes);

var DateStart=StartYear+"/"+StartMonth+"/"+StartDay+" "+HourFrom+":"+MinuteFrom;
var DateEnd=EndYear+"/"+EndMonth+"/"+EndDay+" "+HourTo+":"+MinuteTo;

alert("DateStart="+DateStart);
alert("DateEnd="+DateEnd);

var Start =new Date(DateStart).getTime();
var End =new Date(DateEnd).getTime();

var n = Start - End;

if(n<0)
{
args.IsValid=true;
return ;
}
else
{
args.IsValid=false;
return ;

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐